下面的Python代码是读取xls & xlsx文件。我在读取 xlsx 文件时遇到问题。错误是“断言 tvalue 不是无”
--> workbook=xlrd.open_workbook("/home/perlzuser/sprint12/template.xlsx")
sheet=workbook.sheet_by_index(0)
data=[[sheet.cell_value(r,c) for c in range(sheet.ncols)]for r in range (sheet.nrows)]
print " ::",data
我的错误:::
/home/perlzuser/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/xlrd/xlsx.pyc in do_row(self, row_elem) 723 else: 724 bad_child_tag(child_tag) --> 725 assert tvalue is not None 726 self.sheet.put_cell(rowx, colx, XL_CELL_TEXT, tvalue, xf_index) 727 else:
AssertionError:
如何在 python 中解决这个问题?
最佳答案
我找到了解决断言错误的方法:
代码:
import xlrd
from openpyxl import load_workbook
wb = load_workbook("/home/perlzuser/sprint12/template.xlsx")
wb.save("file_new.xlsx")
workbook=xlrd.open_workbook("file_name.xlsx")
sheet=workbook.sheet_by_index(0)
data=[[sheet.cell_value(r,c) for c in range(sheet.ncols)]for r in range (sheet.nrows)]
print "output:", data
代码说明:
- 我在这里使用 load_workbook 读取文件并将该文件保存为 file_new.xlsx。
- 我只是将实际的 xlsx 文件 (template.xlsx) 数据复制到新的 xlsx 文件 (file_new.xlsx)
注意:这个复制的file_new.xlsx只能被python代码读取。它不是人类可读的格式,但您的代码会读取它。您可以使用这些数据存储到数据库或写入其他文件。
关于python - 如何使用 xlrd 包处理 xlsx 文件读取错误 ("assert tvalue is not None")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519876/