为什么我的 openpyxl 加载只拉工作表中的一个单元格
why does my openpyxl load only pull one cell in worksheet
我openpyxl
打算读取 XLSX 文档中的行。
但由于某种原因,它只读取单元格 A1
中的值,然后完成。
我错过了什么?
from openpyxl import load_workbook
Dutch = load_workbook(filename='languages/READY-Language Translation-- August (SOS) Dutch_dut_Compared_Results.xlsx', read_only=True)
Dws = Dutch.get_sheet_by_name(name='Ouput')
for row in Dws.iter_rows():
for cell in row:
print(cell.value)
只读模式在很大程度上取决于您正在阅读的文件提供的元数据,尤其是 "dimensions"。您可以通过查看 ws.max_row
和 ws.max_col
是什么来检查这一点。如果这些与您的预期不同,则文件中的元数据不正确。您可以强制 openpyxl 使用 ws.calculate_dimensions()
重新计算这些值,但这是不可取的,因为它会强制 openpyxl 读取整个 sheet。更好的方法是简单地重置基础值,以便 openpyxl 知道工作sheet 未调整大小。
如果您以读取模式加载工作簿,并且 openpyxl 未按预期读取 sheet,比如 A1:A1,您可以使用 ws.reset_dimensions()
重置最大行数和最大列数。
示例:
from openpyxl import load_workbook
wb = load_workbook(filename='languages/READY-Language Translation-- August (SOS) Dutch_dut_Compared_Results.xlsx', read_only=True)
ws = wb['Ouput']
ws.reset_dimensions()
for row in ws.rows:
for cell in row:
print(cell.value)
我openpyxl
打算读取 XLSX 文档中的行。
但由于某种原因,它只读取单元格 A1
中的值,然后完成。
我错过了什么?
from openpyxl import load_workbook
Dutch = load_workbook(filename='languages/READY-Language Translation-- August (SOS) Dutch_dut_Compared_Results.xlsx', read_only=True)
Dws = Dutch.get_sheet_by_name(name='Ouput')
for row in Dws.iter_rows():
for cell in row:
print(cell.value)
只读模式在很大程度上取决于您正在阅读的文件提供的元数据,尤其是 "dimensions"。您可以通过查看 ws.max_row
和 ws.max_col
是什么来检查这一点。如果这些与您的预期不同,则文件中的元数据不正确。您可以强制 openpyxl 使用 ws.calculate_dimensions()
重新计算这些值,但这是不可取的,因为它会强制 openpyxl 读取整个 sheet。更好的方法是简单地重置基础值,以便 openpyxl 知道工作sheet 未调整大小。
如果您以读取模式加载工作簿,并且 openpyxl 未按预期读取 sheet,比如 A1:A1,您可以使用 ws.reset_dimensions()
重置最大行数和最大列数。
示例:
from openpyxl import load_workbook
wb = load_workbook(filename='languages/READY-Language Translation-- August (SOS) Dutch_dut_Compared_Results.xlsx', read_only=True)
ws = wb['Ouput']
ws.reset_dimensions()
for row in ws.rows:
for cell in row:
print(cell.value)