python指令碼實現資料匯出excel格式的簡單方法

來源:互聯網
上載者:User
實習期間,伺服器的一位師兄讓我幫忙整理一下伺服器的log資料,最終我用Python實現了資料的提取並將其用Excel格式匯出。下面是我Python實現的源碼,可以自動遍曆某一檔案目錄下的所有文字檔,並將總的資料匯出到Excel檔案中,匯出為Excel格式這樣就比較方便統計了。

//實現將目錄下所有檔案格式為.txt的檔案進行遍曆統計,如果是別的格式直接將下面的.txt改為你所需要的格式尾碼就可以了,比較方便。

//過程就是先將所有的檔案中的內容提取出來寫入到一個新檔案中,然後再從新檔案中提取資料,最後將資料寫入到Excel檔案中

from pyExcelerator import *import oscurrentpath = 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 1os.popen('log_parse.exe test.mak >> shuju.log')print 2for _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 3file_object = open(_file)for i in range(0,2):works.col(i).width = 10000i = 0for line in file_object:line = line.rstrip('\n')print 4if not line.split():i = i + 1if 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' % _filework.save(_file)

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

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


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

echo
python test.py

我自己的實現是大約150M檔案跑了一分半的時間出結果,我認為還比較理想。

以上這篇python指令碼實現資料匯出excel格式的簡單方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援topic.alibabacloud.com。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.