Python 为什么我的openpyxl加载在工作表中只拉一个单元格

Python 为什么我的openpyxl加载在工作表中只拉一个单元格,python,excel,openpyxl,Python,Excel,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(na

我打算阅读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)

只读模式在很大程度上取决于您正在读取的文件提供的元数据,尤其是“维度”。您可以通过查看
ws.max\u行
ws.max\u列
是什么来检查这一点。如果这些与您期望的不同,则文件中的元数据不正确。您可以使用
ws.calculate\u dimensions()
强制openpyxl重新计算这些值,但这是不可取的,因为它强制openpyxl读取整个工作表。更好的方法是简单地重置基础值,以便openpyxl知道工作表没有大小。

如果您以读取模式加载工作簿,而openpyxl没有按预期读取工作表,例如A1:A1,则可以使用
ws.reset\u 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)

好啊假设我无法更改excel文件,还有其他方法吗?还是重新计算变成了唯一的解决方案?