使用熊猫删除 Excel 中的标题行

Ric*_*lar 3 excel python-3.x pandas

我有一个带有合并标头的 Excel 文件,我使用 Pandas 作为数据框读取它。之后看起来像这样pd.read_excel():

Unnamed: 0     Pair    Unnamed: 1      Type      ...  Unnamed: 23
cabinet_name   group     pair          caller_id ...  result
value1         value1    value1        value1    ...  value1
value2         value2    value2        value2    ...  value2
Run Code Online (Sandbox Code Playgroud)

所以这就像我有两个标题行。一个是未命名的行,另一个是我想要的标题行。

这是我想要的输出:

cabinet_name   group     pair          caller_id ...  result
value1         value1    value1        value1    ...  value1
value2         value2    value2        value2    ...  value2
Run Code Online (Sandbox Code Playgroud)

我试图删除行使用Unnamed:

df.drop(df.index[[0]])
Run Code Online (Sandbox Code Playgroud)

并且还使用header=None在pd.read_excel('file.xlsx, header=None)'

但是我发现的所有内容都没有返回我预期的输出。我搜索了如何删除行,Unnamed但我发现的只是删除列。

我也试过

df.drop(df.head(0))
Run Code Online (Sandbox Code Playgroud)

但它返回了我:

KeyError: '[\'Unnamed: 0\' \'Pair'\ ... \'Unnamed: 23\']'
Run Code Online (Sandbox Code Playgroud)

有什么最好的方法吗?

jez*_*ael 5

我相信你需要通过参数跳过第一行skiprows=1或header=1然后删除所有只有NaN小号列:

df = (pd.read_excel('UF_AGT702-M.xlsx', skiprows=2, sheetname='Report')
        .dropna(how='all', axis=1))
Run Code Online (Sandbox Code Playgroud)