我想用python打印特定列的所有數據(所有行)使用openpyxl
我正在以這種方式工作;對工作表,行,列進行迭代
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)
但它給
if row < 1 or column < 1: TypeError: unorderable types: tuple() < int()
,因爲我在row=i
迭代。如果我使用sheet.cell(row=4, column=2).value
它打印單元格的值。但是,我如何遍歷所有文檔?
編輯1
在一些研究,發現數據可以使用表名稱得到。 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
閱讀此問題的答案以獲取提示它是如何工作的:http://stackoverflow.com/questions/42777213/how-do-i-use-openpyxl-and-仍然保持oop結構 – stovfl
@stovfl它不工作。 – Humty
遍歷所有行,你可以使用'iter_rows'就像'sheet.iter_rows(row_offset = 1)' –