从特定列的每个工作表中的 Excel 工作簿中读取值

Reading values from Excel workbook in every worksheet in particular column

我想读取工作簿中每个工作表中 B 列的值。

经过大量阅读和尝试后,我可以 return 我想要从中获取值的单元格名称,但我不知道如何获取这些值。

from openpyxl import load_workbook

wb = load_workbook(r"C:/Users/username/Documents/test.xlsx")
for sheet in wb.worksheets:
    for row in range(2,sheet.max_row+1):
        for column in "B":
            cell_name = "{}{}".format(column, row)
            print (cell_name)

这是return在每个工作表的 B 列中具有值的单元格名称(即 B2、B3)。

import xlrd

loc = ("foo.xlsx")  # excel file name
wb = xlrd.open_workbook(loc)
# sheet = wb.sheet_by_index(0)

for sheet in wb.sheets():
    for i in range(sheet.nrows):
        print(sheet.cell_value(i, 1))

编辑:我编辑了我的答案以阅读 excel 文件中的所有工作表。

根据文档https://openpyxl.readthedocs.io/en/stable/usage.html,您可以通过以下方式访问单元格值:

sheet['B5'].value

将 B5 替换为您需要的单元格。

只玩范围

from openpyxl import load_workbook
wb = load_workbook('')
for sheet in wb:
    for i in range(1,50):
        if sheet['B'+str(i)].value:
            print(sheet['B'+str(i)].value)

更好的一个,

from openpyxl import load_workbook
wb = load_workbook('')
for sheet in wb:
    for row in sheet['B']:
        print(row.value)