Openpyxl 使用python在excel工作表中循环一个范围

Openpyxl 使用python在excel工作表中循环一个范围,openpyxl,Openpyxl,您好,我正在编写代码,循环遍历工作簿中的所有excel电子表格,从每个电子表格中选取特定范围 我的代码如下: from openpyxl import load_workbook import pandas as pd wb = load_workbook('D:\Temp\DD_Catalogues_6092020.xlsx') sheetnames=wb.sheetnames' for i in sheetnames: i = wb[i] row=i.max_row-3

您好,我正在编写代码,循环遍历工作簿中的所有excel电子表格,从每个电子表格中选取特定范围

我的代码如下:

from openpyxl import load_workbook
import pandas as pd
wb = load_workbook('D:\Temp\DD_Catalogues_6092020.xlsx')
sheetnames=wb.sheetnames'
for i in sheetnames:
    i = wb[i]
    row=i.max_row-3
    data_rows = []
    for row in i[1:row]:
        data_cols = []
        for cell in row:
            data_cols.append(cell.value)
        data_rows.append(data_cols)
df = pd.DataFrame(data_rows)    
print(df)

然而,它似乎并没有遍历所有的工作表,而只是拾取第一个工作表。我可以知道如何解决这个问题吗?非常感谢你

这回答了你的问题吗?不像我使用openpyxl那样。如何使用openpyxl实现同样的功能。我想我只是需要一些帮助来看看我的代码,看看哪里出了问题哪里出了问题,
data\u rows
在每次迭代中都会被重置,所以您只创建最后一张工作表的数据帧。不清楚你想做什么,所以我帮不了你。是否要将所有图纸合并为一个?对每一个进行某种处理?你为什么要把熊猫和openpyxl混用?如果您计划使用数据帧,为什么不直接使用
pandas
?谢谢。我想做的是1。在excel工作表中获取特定范围(从第1行到最后第三行,从a列到I列)。2.在excel工作簿3中的所有工作表中进行迭代。将它们全部附加到一个数据帧中。