python - 迭代 excel-sheets 名称从 "Line"开始

标签 python excel pandas

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])

针对每个工作表执行上述任务,并将其存储在数据框中,直到附加所有工作表。

最佳答案

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

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

关于python - 迭代 excel-sheets 名称从 "Line"开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57950999/

相关文章:

python - 改变 turtle 的外观

python - 从断点列表中完全枚举范围

html - VBA:从HTML表格中的TD的innerhtml中提取href的有效方法

Excel,选择除单个动态单元格之外的整列的数组

python - Pandas 重新采样将周末推迟到周五

python - 如何将 bool 列从宽表 reshape 为长表

python - 如何对 Pandas 中按分类列分组的值求和?

python - 如何将命令的输出复制到文件?

java - 即使使用 apache poi 的代码相同,Excel 单元格在不同的机器上也会缩小

python - 在 Pandas 的 Lambda 函数中使用条件语句时出现问题