【发布时间】:2013-09-20 08:09:19
【问题描述】:
我想使用 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....
任何帮助将不胜感激。
【问题讨论】:
-
我从来没有使用过 python,但是如果你想要来自其他列的数据,你不应该在循环中使用你正在为行做的变量来增加
column的值吗? -
我知道,这只是为了测试,column=1 有效,当我用 column=2 进行测试时,column=3 或 4 都没有……只有“some”列返回一些东西。不知道为什么每列都有数据。
-
你能调试一下
sh.get_highest_row()的值是多少 -
我的行数正确。如果我打印 rownum 它会一直到最后一个,在 excel 中我有 11500 行并且输出停止在这个数字。
-
在 VBA 中,范围类似于
Range("A1:A" & lastrow)。在 python 中,range(1, sh.get_highest_row())是否描绘了类似的东西?
标签: python excel python-2.7 xlsx openpyxl