首頁 >後端開發 >Python教學 >python腳本實作資料匯出excel格式的簡單方法

python腳本實作資料匯出excel格式的簡單方法

高洛峰
高洛峰原創
2017-02-06 13:35:322061瀏覽

實習期間,伺服器的一位師兄讓我幫忙整理一下伺服器的log數據,最終我用Python實現了數據的提取並將其用Excel格式導出。下面是我Python實現的源碼,可以自動遍歷某一文件目錄下的所有文字文件,並將總的資料匯出到Excel文件中,匯出為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)

//其中的print  1 2 3 4 是我打的log如果不想要可以直接刪掉。 使用該Python實作時直接將上面程式碼儲存到 test.py的檔案中就行了。

另外中間使用到了一個c++的提取可執行檔log_parse.exe,放在下面了。使用時將其與test.py放在同一目錄下就可以了。

 
如果想方便的話可以建一個.bat文件寫成命令行的形式,直接點擊一下就可以自動完成所有的工作了,如下:

   echo 
   python test.py

1我自己的實現是文件跑了一分半的時間出結果,我認為比較理想。

以上這篇python腳本實現資料導出excel格式的簡單方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。

更多python腳本實現資料導出excel格式的簡單方法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn