Openpyxl 读取并 returns 一个 None 每隔一个单元格
Openpyxl reads and returns a None every second cell
我正在尝试使用 load_workbook 方法读取 xlsx,它运行良好。但是,如果列中有一个空单元格并且工作簿加载了 "use_iterators or read_only" 选项集,则 rows() 方法会在该列中每个原始单元格值之后的输出中添加一个 'None' 值。如果数据范围内的列中没有空单元格,则没有问题。
请在下面找到我正在读取的 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选项为真时):
None
1
None
None
2
None
3
None
4
None
5
预期输出:
None
1
None
2
3
4
5
我仍然无法解决这个问题,因为我仍然面临同样的问题。请原谅我的任何幼稚错误。我是 python 和 openpyxl 的新手,我来这里只是为了寻找问题的答案。任何帮助将不胜感激。
根据 "Charlie Clark"(在 openpyxl google 组中)的确认,这是当前版本的 openpyxl 中的错误。这适用于由于未更新计数器而具有空行的任何工作表。这在 2.2 分支中已修复,发布时将在 2.2.1 中。
我正在尝试使用 load_workbook 方法读取 xlsx,它运行良好。但是,如果列中有一个空单元格并且工作簿加载了 "use_iterators or read_only" 选项集,则 rows() 方法会在该列中每个原始单元格值之后的输出中添加一个 'None' 值。如果数据范围内的列中没有空单元格,则没有问题。
请在下面找到我正在读取的 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选项为真时):
None
1
None
None
2
None
3
None
4
None
5
预期输出:
None
1
None
2
3
4
5
我仍然无法解决这个问题,因为我仍然面临同样的问题。请原谅我的任何幼稚错误。我是 python 和 openpyxl 的新手,我来这里只是为了寻找问题的答案。任何帮助将不胜感激。
根据 "Charlie Clark"(在 openpyxl google 组中)的确认,这是当前版本的 openpyxl 中的错误。这适用于由于未更新计数器而具有空行的任何工作表。这在 2.2 分支中已修复,发布时将在 2.2.1 中。