python - 如何使用 xlrd 包处理 xlsx 文件读取错误 ("assert tvalue is not None")?

标签 python excel

下面的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/

相关文章:

python - 如何加速 pandas drop() 方法?

python - 如何从扫描文档中提取垂直标签和值?

excel - 如何在VBA excel中定义误差条的数量

excel - 通过 TagName 进行网页抓取

vba - 如何设置大小写以省略任何小于 X 个字符的单词

python - 只需按一下按钮即可无限循环

python - pygame中的动画

VBA - 如何选择刚刚粘贴的值然后对其应用更改?

r - R 和 MS Excel 之间 IRR 计算的不同结果

python - Selenium Phantomjs 浏览器在启动时挂起。我该如何调试它?