Openpyxl将Excel中的所有内容保存到列表中



我编写了这段代码,将XLS文件的内容保存到Python中的列表中:

import xlrd
file = "oktober-results.xls"
content = xlrd.open_workbook(file)
sheet = content.sheet_by_index(0)
sheet_to_list = []
for row in range (sheet.nrows):
sheet_to_list.append([])
for col in range (sheet.ncols):
sheet_to_list[row].append(sheet.cell_value(row, col))

此代码运行良好。最近,我被迫将Excel文件切换为XLSX格式,因为这样可以处理更多的行。

xlrd模块无法处理.xlsx文件,我决定改用openpyxl。

现在我正试图用Python将xlsx文件的内容保存到列表中,但我遇到了麻烦:

file = "november-results.xlsx"
content = openpyxl.load_workbook(file)
sheet = content.active
sheet_to_list = []
for rij in range (1, sheet.max_row +1):
sheet_to_list.append([])
for kol in range (1, sheet.max_column +1):
sheet_to_list[rij].append(sheet.cell(row=rij, column=kol)).value

有人能帮我吗?

它得到了下一个错误:

sheet_to_list[rij].append(sheet.cell(行=rij,列=kol((.value

IndexError:列出超出范围的索引

列表索引从0开始变量"rij";起始值是1,所以当您试图附加只有一个项目在0处索引的列表时,它会给您IndexError。你应该这样做:

sheet_to_list[rij-1].append(sheet.cell(row=rij, column=kol).value)

最新更新