Python 如何从csv文件中删除行?

Python 如何从csv文件中删除行?,python,pandas,csv,dataframe,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列 创建日期未命名:1未命名:2 0客户端NaN的NaN类型 1岁楠楠楠 2楠出生日期楠 休息3天 4外部员工薪酬 5丹130e是的 6亚伯拉罕10e号

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

data = pd.read_csv(next(iglob('*.csv')))
data_top = data.head()
data_top = data_top.drop(axis=0)
需要补充什么

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

创建日期未命名:1未命名:2
0客户端NaN的NaN类型
1岁楠楠楠
2楠出生日期楠
休息3天
4外部员工薪酬
5丹130e是的
6亚伯拉罕10e号
7里士满201e第三方

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

data = pd.read_csv(next(iglob('*.csv')))
data.drop([0,1,2,3,4], axis=0, inplace=True)
对于axis,还应传递单个标签或列表(列名或行索引)

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


编辑:根据评论中指出的添加位置。

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

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在其回答中所述

是否要从数据帧或制作数据帧的csv文件中删除行?目的是从csv文件中删除行。但是如果我可以从数据框中删除这些行,我就知道如何将信息从数据框“传输”到CSV文件。Ok的可能重复。因此,从代码判断,您要做的是将CSV文件作为数据帧读取,然后从中删除前5行并将其存储回CSV?您是对的!!您也可以在drop方法中使用'inplace'=True,因此您不必重新创建变量,这是我试图实现的非常复杂的目标。(至少对于像我这样的初学者来说)。我试图删除CSV文件中的所有行和列,直到它到达名为“Employees”的列。因此,我很幸运,这个没有参数的head()函数与我当前的文件格式匹配,因为现在它包含5行,直到“employees”单元格,但将来不会是这种情况。@zimskiz对于这个特定的用例,这个代码片段将可以工作。请显示数据框的第一行。read_csv方法非常灵活,您可以根据需要阅读特定列。初始问题已通过示例更新。skiprows不是一个好的选择,因为不同文件的行数可能不同。