如何从csv文件中删除行?

时间:2019-11-25 15:20:58

标签: python pandas csv dataframe

我能够从CSV文件中提取要删除的行,但无法使drop()函数正常工作。

data = pd.read_csv(next(iglob('*.csv')))
data_top = data.head()
data_top = data_top.drop(axis=0)

需要添加什么?

CSV文件示例。它应该删除所有内容,直到到达Employee列。

creation date         Unnamed: 1       Unnamed: 2
0            NaN   type of client         NaN
1            age             NaN          NaN
2            NaN      birth date          NaN
3            NaN             NaN       days off
4       Employee          Salary       External
5            Dan            130e          yes
6        Abraham             10e           no
7       Richmond            201e      third-party

2 个答案:

答案 0 :(得分:0)

如果仅是要删除的前5行,则可以按以下步骤操作:

person_contact(person_id, contact_id)

对于轴,还应该传递单个标签或列表(列名称或行索引)。

当然,还有许多其他方法可以实现这一目标。尤其是当您要删除的行的索引不仅是前5位时。

编辑:已按照注释中的说明进行了适当的添加。

答案 1 :(得分:0)

考虑一下注释和进一步的解释,假设您知道该列的名称,并且您具有位置索引,则可以尝试以下操作:

data = pd.read_csv(next(iglob('*.csv')))
row = data[data['creation date'] == 'Employee']
n = row.index[0]
data.drop(labels=list(range(n)), inplace=True)

主要目标是找到包含值'Employee'的行的索引。为此,假设没有其他行包含该单词,则可以过滤数据框以匹配特定列中的相关值。
之后,提取索引值,直到将其用于创建将要删除数据帧的标签列表(给定位置索引)为止,如@ MAK7在其答案中所述。