首页 > 解决方案 > 遍历 excel-sheets 名称从“Line”开始

问题描述

xls = pd.ExcelFile('xyz.xlsx')

我有 excel 文件,并且有很多工作表(或选项卡),例如:- 第 7 行、第 9 行、简介、数据、包、外包、第 11 行等。

所以我的问题是我只想遍历这些工作表 - 名称从“Line”开始。并执行

df2 = df1['Unnamed: 1']
df3 = df2[51:59] #72:
df3 = df3.dropna(axis = 0, how ='any') 
df4 = df2[72:] #72:
df4 = df4.dropna(axis = 0, how ='any')
df5 = df4.drop(83)
df6 = pd.concat([df3,df5])

每个工作表的上述任务并将其存储在数据框中,直到所有工作表都被附加。

标签: pythonexcelpandas

解决方案


您可以过滤工作表名称,如下所示

xls = pd.ExcelFile('xyz.xlsx')
buf = []  # buffer to store results in each loop iteration
#xls.sheet_names
#['Sheet1', 'Sheet2', 'Sheet3']
sheets_needed = [i for i in xls.sheet_names if i.startswith("Line")]
for sheet in sheets_needed:
    df1 = xls.parse(sheet_name=sheet)
    # your operations here
    buf.append(df6)
df = pd.concat(buf)  # your desired output

推荐阅读