openpyxl xlsx文件单元格值为none。

3
我希望使用openpyxl读取xlsx文件。 以下是我通常使用的代码:
import openpyxl

wb = openpyxl.load_workbook("example.xlsx")
sh = wb.get_sheet_by_name(name="Sheet3") or wb.get_sheet_by_name(name="Section3")
for rownum in range(1, sh.get_highest_row()):
    print str(sh.cell(row=rownum, column=1).value)

在这个例子中,我能够从第一列中找到值。问题是我有数据在第二列和其他列,但输出却是 None。非常感谢任何帮助。

1
我从未使用过Python,但是如果您想从其他列中获取数据,难道不应该使用一个变量在循环中递增“column”的值,就像您为行所做的那样吗? - Siddharth Rout
我知道,这只是为了测试,column=1可以工作,但当我尝试使用column=2时不行,column=3或4也不行...只有“某些”列返回结果。不知道为什么,因为每一列都有数据。 - user2205614
你可以调试并检查 sh.get_highest_row() 的值是多少吗? - Siddharth Rout
在VBA中,一个范围会像Range("A1:A" & lastrow)这样。在Python中,range(1, sh.get_highest_row())是否表示类似的内容? - Siddharth Rout
是的,它返回包含数据的最大行索引。无论如何,谢谢。 - user2205614
显示剩余6条评论
1个回答

1
它使用xlrd库。Excel文件是使用Java库生成的。这种创建方式似乎存在问题。用Excel 2013打开并将其另存为新的xlsx文件也更好一些。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接