注:Excel 2003 一個工做錶行數限制65536,列數限制256html
模塊安裝:xlwtpython
[root@baolin shell]#sudo pip install xlwt
腳本內容:shell
[root@baolin shell]# cat t2e.py #!/bin/env python # -*- encoding: utf-8 -*- #------------------------------------------------------------------------------- # Purpose: txt轉換成Excel # Created: 2017-11-03 #------------------------------------------------------------------------------- import os import sys import xlwt #須要的模塊 def txt2xls(filename,xlsname): #文本轉換成xls的函數,filename 表示一個要被轉換的txt文本,xlsname 表示轉換後的文件名 print 'converting xls ... ' f = open(filename) #打開txt文本進行讀取 x = 0 #在excel開始寫的位置(y) y = 0 #在excel開始寫的位置(x) xls=xlwt.Workbook() sheet = xls.add_sheet('sheet1',cell_overwrite_ok=True) #生成excel的方法,聲明excel while True: #循環,讀取文本里面的全部內容 line = f.readline() #一行一行讀取 if not line: #若是沒有內容,則退出循環 break for i in line.split('\t'):#讀取出相應的內容寫到x item=i.strip().decode('utf8') sheet.write(x,y,item) y += 1 #另起一列 x += 1 #另起一行 y = 0 #初始成第一列 f.close() xls.save(xlsname+'.xls') #保存 if __name__ == "__main__": filename = sys.argv[1] xlsname = sys.argv[2] txt2xls(filename,xlsname)
運行方式:bash
# 後綴xls會自動添加 [root@baolin shell]#python t2e.py txt文本 xls名稱
注:當行數大於65535時,就須要使用Excel 2007 一個工做錶行數限制1048576,列數限制16384函數
模塊安裝:xlsxwriter.net
[root@baolin shell]#sudo pip install xlsxwriter
腳本內容:excel
#!/bin/env python # -*- encoding: utf-8 -*- import os import sys import xlsxwriter # 當文檔內容大於 65535 時使用 xlsxwriter 模塊 def txt2xls(filename,xlsname): #文本轉換成xls的函數,filename 表示一個要被轉換的txt文本,xlsname 表示轉換後的文件名 print('converting xls ... ') f = open(filename) #打開txt文本進行讀取 x = 0 #在excel開始寫的位置(y) y = 0 #在excel開始寫的位置(x) xls=xlsxwriter.Workbook(xlsname+'.xlsx') # 建立xlsx文件 sheet = xls.add_worksheet() # 建立一個新的表單,默認名稱爲 「sheet1」,輸入字符參數可指定名稱 while True: #循環,讀取文本里面的全部內容 line = f.readline() #一行一行讀取 if not line: #若是沒有內容,則退出循環 break for i in line.split('\t'):#讀取出相應的內容寫到x item=i.strip().decode('utf8') sheet.write(x,y,item) y += 1 #另起一列 x += 1 #另起一行 y = 0 #初始成第一列 f.close() xls.close() if __name__ == "__main__": filename = sys.argv[1] xlsname = sys.argv[2] txt2xls(filename,xlsname)
運行方式:code
# 後綴xls會自動添加 [root@baolin shell]#python t2e.py txt文本 xls名稱
[root@baolin shell]#cat batch_to_exl.sh #!/bin/bash pth="/usr/local/data_dir/data_txt/" # 將/usr/local/data_dir/data_txt/ 目錄下的全部的文件循環 mkdir /usr/local/data_dir/data_xls/ -p for n in `ls $pth` do # 執行腳本拼接的路徑 執行腳本,將結果放在 其餘目錄(須要建立) python /home/baolin/shell/t2e.py ${pth}${n} /usr/local/data_dir/data_xls/${n} done
內容參考:htm
http://www.cnblogs.com/zhoujinyi/archive/2013/05/07/3064785.html http://blog.csdn.net/gumengkai/article/details/52800257 https://zhidao.baidu.com/question/565518792570332764.html https://www.cnblogs.com/ontheway703/p/5264517.html