遍历特定列openpyxl中的所有行

我无法弄清楚如何通过openpyxl迭代指定列中的所有行。

我想打印列“C”中的所有行的所有单元格值

现在我有:

from openpyxl import workbook path = 'C:/workbook.xlsx' wb = load_workbook(filename = path) ws=wb.get_sheet_by_name('Sheet3') for row in ws.iter_rows(): for cell in row: if column == 'C': print cell.value 

你可以用ws.iter_rows()来指定一个范围来迭代:

 import openpyxl wb = openpyxl.load_workbook('C:/workbook.xlsx') ws = wb.get_sheet_by_name('Sheet3') for row in ws.iter_rows('C{}:C{}'.format(ws.min_row,ws.max_row)): for cell in row: print cell.value 

编辑:每查理克拉克你可以交替使用ws.get_squared_range()

 # ... ws.get_squared_range(min_col=1, min_row=1, max_col=1, max_row=10) # ... 

编辑2:根据你的评论你想在列表中的单元格值:

 import openpyxl wb = openpyxl.load_workbook('c:/_twd/2016-06-23_xlrd_xlwt/input.xlsx') ws = wb.get_sheet_by_name('Sheet1') mylist = [] for row in ws.iter_rows('A{}:A{}'.format(ws.min_row,ws.max_row)): for cell in row: mylist.append(cell.value) print mylist 

为什么你不能迭代列“C”(版本2.4.7):

 for cell in ws['C']: print cell.value