我有一个带有合并标头的Excel文件,我使用熊猫将其读为数据框。 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
所以就像我有两个标题行。一个是未命名的行,另一个是我想要的标题行。
这是我想要的输出:
cabinet_name group pair caller_id ... result
value1 value1 value1 value1 ... value1
value2 value2 value2 value2 ... value2
我正在尝试用Unnamed
删除行:
df.drop(df.index[[0]])
,并在header=None
中使用pd.read_excel('file.xlsx, header=None)'
但是我发现的所有内容都没有返回预期的输出。我搜索了如何使用Unnamed
删除行,但发现的全部是删除列。
我也尝试过
df.drop(df.head(0))
但它返回了我:
KeyError: '[\'Unnamed: 0\' \'Pair'\ ... \'Unnamed: 23\']'
有什么最好的方法吗?
答案 0 :(得分:1)
我相信您需要跳过参数skiprows=1
或header=1
的第一行,然后删除仅NaN
的所有列:
df = (pd.read_excel('UF_AGT702-M.xlsx', skiprows=2, sheetname='Report')
.dropna(how='all', axis=1))
答案 1 :(得分:0)
下面以excel文件格式为例。
要从数据文件中排除页脚和标头信息,可以对前者使用header / skiprows参数,对后者使用skipfooter参数。这是使用它的MWE:
import pandas as pd
energy = pd.read_excel('your_excel_file.xls', header=9, skipfooter=8)
标题:int,int列表,默认为0 用于解析的DataFrame的列标签的行(索引为0)。如果传递整数列表,则这些行位置将合并到一个MultiIndex中。如果没有标题,则使用无。
skipfooter :类似于列表 末尾要跳过的行(0索引)。
请查看最新的read_excel文档以获取更多详细信息。