Python代码下面是阅读xls& xlsx文件。我在阅读xlsx文件时遇到问题。错误是"断言tvalue不是None"
--> 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 在do_row中(self,row_elem) 723其他: 724 bad_child_tag(child_tag) - > 725断言tvalue不是None 726 self.sheet.put_cell(rowx,colx,XL_CELL_TEXT,tvalue,xf_index) 727否则:
的AssertionError:
如何在python中解决此问题?
答案 0 :(得分:3)
我找到了解决断言错误的方法:
<强>码强>
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
代码说明:
注意:此复制的file_new.xlsx只能由python代码读取。它将不是人类可读的格式,但您的代码将读取它。您可以使用这些数据存储到DB中或写入其他文件。