>  기사  >  백엔드 개발  >  Python 스크립트를 사용하여 데이터를 Excel 형식으로 내보내는 간단한 방법

Python 스크립트를 사용하여 데이터를 Excel 형식으로 내보내는 간단한 방법

高洛峰
高洛峰원래의
2017-02-06 13:35:321998검색

인턴 과정에서 서버 선배님이 저에게 서버의 로그 데이터 정리를 도와달라고 부탁하셨고, 마지막으로 Python을 사용해 데이터를 추출하고 엑셀 형식으로 내보냈습니다. 다음은 특정 파일 디렉터리의 모든 텍스트 파일을 자동으로 탐색하고 전체 데이터를 Excel 파일로 내보낼 수 있는 Python 구현의 소스 코드입니다. Excel 형식으로 내보내는 것이 통계에 더 편리합니다.

//디렉토리에 있는 모든 파일의 탐색 및 통계를 .txt 형식으로 달성합니다. 다른 형식인 경우 아래 .txt를 필요한 형식 접미사로 변경하면 더 편리합니다.

//모든 파일의 내용을 먼저 추출하여 새 파일에 쓴 다음 새 파일에서 데이터를 추출하고 마지막으로 데이터를 Excel 파일에 쓰는 과정입니다

from pyExcelerator import *
import os
currentpath = os.getcwd() 
testlog = open('test.mak','w') 
os.mkdir(r'Excel') 
print "currentpath: ",currentpath 
for file in os.listdir(currentpath):
if os.path.isfile(os.path.join(currentpath,file))==True:
if file.find('.txt')>0:  //如果是别的格式直接将下面的.txt改为你所需要的格式后缀就可以了
file_ = open(file,'r')
content = file_.read()  
file_.close()  
testlog.write( content ) 
print 1
os.popen('log_parse.exe test.mak >> shuju.log')
print 2
for _file in os.listdir(currentpath):
if os.path.isfile(os.path.join(currentpath,_file))==True:
if _file.find('.log')>0:
work = Workbook() 
works = work.add_sheet('Sheet1') 
print 3
file_object = open(_file)
for i in range(0,2):
works.col(i).width = 10000
i = 0
for line in file_object:
line = line.rstrip('\n')
print 4
if not line.split():
i = i + 1
if line.strip():
array = line.split(':')
lineleft = array[0]
lineright = array[1]
works.write(i,0,lineleft)
works.write(i,1,lineright)
i = i + 1
_file = _file.rstrip('.log')
_file = 'Excel\%s.xls' % _file
work.save(_file)

//인쇄된 1 2 3 4는 제가 작성한 로그입니다. 원치 않으시면 직접 삭제하셔도 됩니다. 이 Python 구현을 사용하는 경우 위 코드를 test.py 파일에 직접 저장하면 됩니다.

그리고 중간에 C++ 추출 실행 파일인 log_parse.exe를 사용하는데, 아래에 배치되어 있습니다. 사용시에는 test.py와 같은 디렉토리에 넣어주시면 됩니다.


편의성을 원하시면 .bat 파일을 생성하여 명령줄 형식으로 작성하시면 다음과 같이 단 한 번의 클릭으로 모든 작업을 자동으로 완료하실 수 있습니다.


위의 Python 스크립트에서 데이터를 Excel 형식으로 내보내는 간단한 방법(권장)은 모두 편집기에서 공유한 내용이므로 참조할 수 있기를 바라며, PHP 중국어도 지원해 주시길 바랍니다. 웹사이트.

데이터를 Excel 형식으로 내보내는 간단한 방법을 구현하는 더 많은 Python 스크립트를 보려면 PHP 중국어 웹사이트에서 관련 기사를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.