使用pandas在多页工作簿中删除特定列

2024-04-27 00:00:36 发布

您现在位置:Python中文网/ 问答频道 /正文

screenshot 1

screenshot 2

我在工作中遇到了现实问题。我需要同时删除D、F和J列。在

我尝试先打印所有的工作表名称,然后运行for循环,但是我得到一个键错误:“labels[3]not contained in axis”

代码如下:

import pandas as pd

fileName = 'project_dropColumnICS.xlsx'
df = pd.ExcelFile(fileName)

arrayOf_SheetNames = df.sheet_names

#just to print the sheetNames
for sheetName in arrayOf_SheetNames:
    print(sheetName)

for sheetName in arrayOf_SheetNames:
    masterdf = pd.read_excel(fileName, sheet_name=sheetName)
    masterdf = masterdf.drop(3, axis = 1)
    masterdf = masterdf.drop(5, axis = 1)
    masterdf = masterdf.drop(9, axis = 1)

另外,如何实现在每个工作表中同时删除3列?我担心我所做的只是删除一个,然后,当需要删除另外两个时,它可能会因为不正确的索引而删除错误的列。在


Tags: indffor错误filenamedropsheetpd