【发布时间】:2017-08-15 21:55:03
【问题描述】:
我想使用openpyxl在python中打印特定列的所有数据(所有行)我正在以这种方式工作;
from openpyxl import load_workbook
workbook = load_workbook('----------/dataset.xlsx')
sheet = workbook.active
for i in sheet:
print(sheet.cell(row=i, column=2).value)
但它给了
如果行
因为我在row=i 中进行迭代。如果我使用sheet.cell(row=4, column=2).value,它会打印单元格的值。但是如何遍历所有文档呢?
编辑 1
在一些研究中,发现可以使用Sheet Name 获取数据。 Sheet 1 存在于 .xlsx 文件中,但其数据未打印。这段代码有问题吗?
workbook = load_workbook('---------------/dataset.xlsx')
print(workbook.get_sheet_names())
worksheet =workbook.get_sheet_by_name('Sheet1')
c=2
for i in worksheet:
d = worksheet.cell(row=c, column=2)
if(d.value is None):
return
else:
print(d.value)
c=c+1
【问题讨论】:
-
阅读此问题的答案以了解其工作原理:stackoverflow.com/questions/42777213/…
-
@stovfl 它不工作。
-
遍历所有可以使用
iter_rows的行,比如sheet.iter_rows(row_offset=1)