【发布时间】:2015-05-21 18:49:25
【问题描述】:
我正在尝试使用 load_workbook 方法读取 xlsx,它运行良好。但是,如果列中有一个空单元格并且工作簿加载了“use_iterators 或 read_only”选项集,则 rows() 方法会在该列中的每个原始单元格值之后向输出添加一个“无”值。如果数据范围内的列中没有空单元格,则没有问题。
请在下面找到我正在读取的 excel 文件的代码和数据:
Excel 文件:book1.xlsx
数据范围: (A 列,第 1-7 行)
空单元格
1
空单元格
2
3
4
5
代码:
Book=openpyxl.load_workbook(filename='book1.xlsx', read_only=True, data_only=True)
ws=Book.get_sheet_by_name('sheet1')
for row in ws.rows:
for col in row:
print col.value
实际输出(当 read_only 选项为真时):
无
1
无
无
2
无
3
无
4
无
5
预期输出:
无
1
无
2
3
4
5
我仍然无法解决这个问题,因为我仍然面临同样的问题。请原谅我的任何幼稚错误。我是 python 和 openpyxl 的新手,我在这里只是寻找问题的答案。任何帮助将不胜感激。
【问题讨论】:
-
在邮件列表中也提出(并回答)了同样的问题。用户不必要地偏离了 API 并在范围内创建了其他单元格。
-
感谢您对更正代码 Charlie 的建议。但是,即使经过这些更正,当我以只读模式打开工作簿时,我仍然遇到同样的问题。如果您能帮我解决这个问题,那将非常有帮助。再次感谢。
-
@charlie,正如您刚刚同意并确认这是一个错误(谷歌群组邮件列表),您能恢复否决票吗?提前致谢。
标签: python openpyxl import-from-excel