python xlwt模塊寫入excel超過65536行報錯問題解決方法

轉載自:https://blog.csdn.net/levy_cui/article/details/86590614html

接此篇文章:python將txt文件轉爲excel格式python

上篇文章中將內容寫到excel中使用import xlwt包,後來發現文件寫入超過65536行的時候就會報錯,沒法轉換成功,ide

xls後綴文件,只支持這麼多行,在網上搜索一下,解決方法能夠寫多個sheet頁,但不是我想要的方式,函數

後來後搜索了下,找到了openpyxl包,使用這個包寫入數據,文件保存爲xlsx格式的,就能夠完美解決。ui

一、安裝包pip install openpyxlspa

二、再將上篇文章代碼(文章開頭鏈接)修改以下,關鍵點:openpyxl,get_sheet_by_name,sheet.cell(row=x,column=y,value=item), xls.save.net

#!/bin/env python# -*- encoding: utf-8 -*-#-------------------------------------------------------------------------------# Purpose:     txt轉換成Excel# use: python txt2excel.py out.txt ABC#-------------------------------------------------------------------------------import datetimeimport timeimport osimport sysimport xlwt #須要的模塊import openpyxldef txt2xls(filename,xlsname):  #文本轉換成xls的函數,filename 表示一個要被轉換的txt文本,xlsname 表示轉換後的文件名print('converting xlsx ... ')f = open(filename)   #打開txt文本進行讀取x = 1                #在excel開始寫的位置(y)y = 1                #在excel開始寫的位置(x)xls=openpyxl.Workbook()sheet = xls.get_sheet_by_name('Sheet')while True:  #循環,讀取文本里面的全部內容line = f.readline() #一行一行讀取if not line:  #若是沒有內容,則退出循環breakfor i in line.split('\t'):#讀取出相應的內容寫到xitem=i.strip()sheet.cell(row=x,column=y,value=item)y += 1 #另起一列x += 1 #另起一行y = 1  #初始成第一列f.close()xls.save(xlsname+'.xlsx') #保存if __name__ == "__main__":filename = sys.argv[1]xlsname  = sys.argv[2]txt2xls(filename,xlsname)

參考:
https://www.cnblogs.com/zeke-python-road/p/8986318.html
https://www.cnblogs.com/li--chao/p/4449502.html

excel

相關文章
相關標籤/搜索