如何处理xlsx文件读取错误(“断言tvalue不是无”)使用xlrd包?

Python代码下面是读取xls&xlsx文件。 我在阅读一个xlsx文件时遇到问题。 错误是“assert tvalue is not 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 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:

Asse田:

如何在python中解决这个问题?

我find了解决断言错误的方法:

码:

导入xlrd

从openpyxl导入load_workbook

wb = load_workbook(“/ home / perlzuser / sprint12 / template.xlsx”)

wb.save( “file_new.xlsx”)

工作簿= xlrd.open_workbook( “file_name.xlsx”)

片= workbook.sheet_by_index(0)

data = [[sheet.cell_value(r,c)for c in range(sheet.ncols)] for r in range(sheet.nrows)]

打印“输出:”,数据

代码说明:在这里,我使用load_workbook来读取文件并将其保存为file_new.xlsx。 我只是将实际的xlsx文件(template.xlsx)数据复制到一个新的xlsx文件(file_new.xlsx)注意:这个复制的file_new.xlsx只能通过Python代码读取。它不是人类可读的格式,但将代码将读它..你可以使用这些数据的存储到数据库或写入其他文件..

::请分享我,如果你有任何其他的解决scheme.. 🙂