在熊猫中删除特定字符串之前的行

时间:2019-02-11 04:26:16

标签: python pandas dataframe

我有以下格式的excel文件:

Sensor 1 meta
Sensor 2 meta
"Summary of Observation"
Sensor 1
Sensor 2

“观察摘要”之前和之后的行数不是固定的(即,一个文件可能只有传感器1,2,而其他文件可能有1,2,3 ....)

在数据框中,我只需要“观察总结”之后的信息)

现在,我打开excel文件,记下我要从中获取信息的行并将其解析为

df = pd.read_excel("1.xlsx",skiprows = %put some value here%)

是否有一种方法可以自动执行此操作,即我不想打开excel。而是仅导入相关行(或在导入后将其删除)。

2 个答案:

答案 0 :(得分:2)

导入文件后,您可以找到index并从该位置选择数据。

# I used column name as `text` you can replace it with yours
idx = df[df['text']=='Summary of Observation'].index[0]

df = df[idx+1:]
print(df)

输出:

                    text                                                                                                                                                                                                                         
3                Sensor 1                                                                                                             
4                Sensor 2 

或者,如果您想包含观察总结,只需使用idx代替idx+1

答案 1 :(得分:1)

您可以打开Excel并使用df.loc[df[0]=="Summary of Observation"].index[0]获取索引 https://github.com/gklc811/Python3.6/blob/master/stackoverflowsamples/excel.ipynb

处的工作代码