python xlwt写入excel_python xlwt模块写入excel超过65536行报错问题解决方法
上篇文章中將內(nèi)容寫到excel中使用import xlwt包,后來發(fā)現(xiàn)文件寫入超過65536行的時(shí)候就會(huì)報(bào)錯(cuò),無法轉(zhuǎn)換成功,
xls后綴文件,只支持這么多行,在網(wǎng)上搜索一下,解決方法可以寫多個(gè)sheet頁,但不是我想要的方式,
后來后搜索了下,找到了openpyxl包,使用這個(gè)包寫入數(shù)據(jù),文件保存為xlsx格式的,就可以完美解決。
1、安裝包pip install openpyxl
2、再將上篇文章代碼(文章開頭連接)修改如下,關(guān)鍵點(diǎn):openpyxl,get_sheet_by_name,sheet.cell(row=x,column=y,value=item), xls.save#!/bin/env?python#?-*-?encoding:?utf-8?-*-#-------------------------------------------------------------------------------#?Purpose:?????txt轉(zhuǎn)換成Excel#?use:?python?txt2excel.py?out.txt?ABC#-------------------------------------------------------------------------------import?datetimeimport?timeimport?osimport?sysimport?xlwt?#需要的模塊import?openpyxldef?txt2xls(filename,xlsname):??#文本轉(zhuǎn)換成xls的函數(shù),filename?表示一個(gè)要被轉(zhuǎn)換的txt文本,xlsname?表示轉(zhuǎn)換后的文件名print('converting?xlsx?...?')f?=?open(filename)???#打開txt文本進(jìn)行讀取x?=?1????????????????#在excel開始寫的位置(y)y?=?1????????????????#在excel開始寫的位置(x)xls=openpyxl.Workbook()sheet?=?xls.get_sheet_by_name('Sheet')while?True:??#循環(huán),讀取文本里面的所有內(nèi)容line?=?f.readline()?#一行一行讀取if?not?line:??#如果沒有內(nèi)容,則退出循環(huán)breakfor?i?in?line.split('\t'):#讀取出相應(yīng)的內(nèi)容寫到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
總結(jié)
以上是生活随笔為你收集整理的python xlwt写入excel_python xlwt模块写入excel超过65536行报错问题解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iframe的src动态修改并刷新_微服
- 下一篇: python requests_小白学