Python 为什么我的openpyxl加载在工作表中只拉一个单元格
我打算阅读XLSX文档中的行 但由于某些原因,它只读取单元格A1中的值,然后完成 我错过了什么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
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文件,还有其他方法吗?还是重新计算变成了唯一的解决方案?