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

时间:2019-09-30 09:42:56

标签: python excel openpyxl

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

经过大量的阅读和玩耍之后,我可以返回要从中获取值的单元格的单元格名称,但是我不知道如何获取这些值。

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)

这将返回在每个工作表的B列中都有值的单元格名称(即B2,B3)。

3 个答案:

答案 0 :(得分:1)

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

sheet['B5'].value

用您需要的单元格替换B5。

答案 1 :(得分:0)

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文件中的所有工作表。

答案 2 :(得分:0)

只玩范围

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)