1. 程式人生 > >python 將txt檔案轉換為excel

python 將txt檔案轉換為excel

場景:txt文件有識別符號分割每行資料,行資料之間以製表符分割

程式碼:

#! /usr/bin/python
# encoding:utf-8

from pyExcelerator import *

def to_excel(fpath):
    # 讀取引數路徑檔案
    f=file(fpath,'r')
    line = f.read()
    # 建立workbook
    w = Workbook()
    # 增加一個sheet頁'Sheet1'
    ws = w.add_sheet('Sheet1')
    # 以'*'分割,獲取每行資料
    arr_line = line[1:].split('*')
    for i in range(len(arr_line)):
        # 對行資料進行遍歷,獲取行資料元素元組
        arr_cell = arr_line[i].split('\t')
        for j in range(len(arr_cell) - 1):
            # 寫入資料
            ws.write(i, j, arr_cell[j])
            print '寫入(%i,%i):%s' % (i, j, arr_cell[j])
    fpath_excel=fpath.replace('txt','xls')
    w.save(fpath_excel)

# 建立txt檔案
f = file('D:/txt-to-excel.txt', 'w')
for i in range(1, 6):
    # 寫入資料,每行資料以'*'開頭,以'\n'結束,資料行內以製表符'\t'分隔
    txt = '*a%i\tb%i\tc%i\td%i\te%d\t\n' % (i, i, i, i, i)
    f.write(txt)
f.close()

to_excel('D:/txt-to-excel.txt')

執行結果:
C:\Python27\python.exe C:/Users/gumen/PycharmProjects/untitled/test.py
寫入(0,0):a1
寫入(0,1):b1
寫入(0,2):c1
寫入(0,3):d1
寫入(0,4):e1
寫入(1,0):a2
寫入(1,1):b2
寫入(1,2):c2
寫入(1,3):d2
寫入(1,4):e2
寫入(2,0):a3
寫入(2,1):b3
寫入(2,2):c3
寫入(2,3):d3
寫入(2,4):e3
寫入(3,0):a4
寫入(3,1):b4
寫入(3,2):c4
寫入(3,3):d4
寫入(3,4):e4
寫入(4,0):a5
寫入(4,1):b5
寫入(4,2):c5
寫入(4,3):d5
寫入(4,4):e5