使用 Openpyxl 读取 Excel 个文件

Read Excel File Using Openpyxl

我想使用 openpyxl 将 excel 文件的每一行保存在列表中。

wb = load_workbook('Shop.xlsx')
ws = wb.active

l = []

a_column = ws['A']
b_column = ws['B']

for x in range(len(a_column)):
    l.append([a_column[x].value, b_column[x].value])

print(l)

输出:[[A1, B1], [A2, B2]]

它有效,但有人知道更好的方法吗?

例如,该列表仅适用于 A 的长度。

您可以使用 itertools.zip_longest:

a_values = [cell.value for cell in a_column]
b_values = [cell.value for cell in b_column]

list(itertools.zip_longest(a_values, b_values))
#=> [('A1', 'B1'), ('A2', 'B2'), ('A3', 'B3'), (None, 'B4'), (None, 'B5')]

您可以用 ws.iter_rows()

在一行中完成此操作
l = [row for row in ws.iter_rows(max_col=2, values_only=True)]

值得注意的是,openpyxl 在 Excel 中找到的最大列长度可能会受到包含 None 的单元格的影响,这些单元格低于您认为数据结束的位置。