我有一个包含11个工作表的.xlsx文件,我需要从第3行开始插入文本文件的内容(tab delim,大约30列,100行)。我尝试了下面的代码,但最终出现了错误。(使用bash/Linux)
#!/usr/bin/env python
import csv
from openpyxl.reader.excel import load_workbook
from xlrd import open_workbook
from xlutils import copy as xl_copy
with open('S12_final.txt') as tab_file: #open tab text file
tab_reader = csv.reader(tab_file, delimiter='\t')
xls_readable_book = load_workbook('S12.xlsx') #load workbook
xls_writeable_book = xl_copy.copy(xls_readable_book)
xls_writeable_sheet = xls_writeable_book.get_sheet_by_name('Filtered') #write data on this sheet
for row_index, row in enumerate(tab_reader):
xls_writeable_sheet.write(row_index, 0, row[0])
xls_writeable_sheet.write(row_index, 1, row[1])
xls_writeable_book.save('S12.xlsx') #save excel file
错误:
^{pr2}$有什么建议吗?在
考虑这个
openpyxl
示例:使用Python:3.4.2-openpyxl:2.4.1-LibreOffice:4.3.3.2测试
似乎(我对这些特定的库一无所知)您正试图将一个openpyxl对象输入到xlutils方法中,具体如下:
因此解释器抱怨这个“未知”对象没有属性
^{pr2}$datemode
。因此,请尝试使用xlrdopen_workbook方法,因为它似乎返回一个Book对象,根据文档,该对象与xlrd.copy方法完全兼容:相关问题 更多 >
编程相关推荐