Openpyxl每隔一个单元读取并返回一个None

时间:2015-03-18 19:44:07

标签: python openpyxl import-from-excel

我尝试使用load_workbook方法读取xlsx,但效果相当不错。但是,如果列中有空单元格,并且工作簿加载了" use_iterators或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选项为true时):

1

2

3

4

5

预期产出:

1

2

3

4

5

我仍然无法解决这个问题,因为我仍面临同样的问题。请原谅我有任何天真的错误。我是python和openpyxl的新手,我在这里只是在寻找问题的答案。任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

根据" Charlie"的确认(在openpyxl google群组中),这是当前版本的openpyxl中的一个错误。由于计数器未更新,因此对任何空行的工作表起诉。这是固定的 在2.2分支中,当发布时将在2.2.1中。