openpyxl-如何使用列号代替字母?

时间:2019-02-28 19:43:05

标签: python excel for-loop openpyxl

我正在寻找一种使用openpyxl从xlsx读取单个列并在此页面上找到内容的方法(第一个答案):openpyxl - read only one column from excel file in python?

但是此代码存在一个问题:由于程序认为(例如,而不是“ AD”列)是“ A”和“ D”两列,因此您不能在“ Z”列的右侧输入。有人对如何解决此问题有想法吗?我感谢每个答案(:

for row in range(4,sheet.max_row+1):  
    for column in 'E':
        cell_name = '{}{}'.format(column, row)
        val = sheet[cell_name].value

1 个答案:

答案 0 :(得分:1)

当您执行for column in 'AD':时,实际上是将'AD'分成'A',而'D'column将代表这些迭代中的每一个。

如果您想做列名,您应该做的:

for column in ('A', 'E', 'AD', 'AZ', 'CC', ...): # etc for all your desired columns
        cell_name = '{}{}'.format(column, row)
        val = sheet[cell_name].value

如果您只想使用数字参考,请使用sheet.cell(row, col).value