如何在python中删除特定的csv行?

时间:2019-03-16 21:55:52

标签: python csv

我在CSV文件中有数千行。

1|row1
2|row2
3|row3
4|row4

我读了row1,然后进行了一些操作。

然后我要删除第1行,因此我的CSV文件现在为:

1|row2
2|row3
3|row4

我发现的所有解决方案似乎都与跳过标头有关,这不是我要尝试执行的操作。在下一次迭代中,我将删除row2,然后删除下一个迭代row3。

2 个答案:

答案 0 :(得分:-1)

尝试一下:

import pandas as pd

# Read csv file into data frame
df = pd.read_csv('file.csv')

# Perform your operation on row1
row1 = df.iloc[0,:]

# Delete row 1 from the data frame
df = df.iloc[1:,:].reset_index(drop=True)

# df now contains everything in the csv except row 1

# Save new csv as desired
df.to_csv('file.csv') # This will overwrite the original csv file

您可以循环执行上述代码,每次都会删除csv的新第一行。

答案 1 :(得分:-1)

您只需通过readlines()将csv文件的所有行放入列表中,然后删除所需的行。例如:

f = open("mycsvfile.csv")
l = f.readlines()

for i in l:
    ...  # do some operation

    del l[i]  # delete the line