首页 > 解决方案 > 如何从 csv 文件中删除行?

问题描述

我能够从 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

标签: pythonpandascsvdataframe

解决方案


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

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 在他的回答中所说。


推荐阅读