在python中删除特定的CSV文件行

时间:2018-05-22 18:27:15

标签: python pandas csv

我有一个CSV文件,我想根据其中一列的值删除它的一些行。我不知道删除类型为pandas.core.frame.DataFrame的CSV文件的特定行的相关代码。

我读了相关的问题,我发现人们建议写一个新文件中可接受的每一行。我不想那样做。我想要的是:

1)删除我知道它们的索引的行(行数)

2)在python的内存中创建一个新的CSV(不要写,再读一遍)

1 个答案:

答案 0 :(得分:0)

以下是您使用pandas可以执行的操作的示例。如果您需要更多详细信息,可能会发现Indexing and Selecting Data是一个有用的资源。

import pandas as pd
from io import StringIO

mystr = StringIO("""speed,time,date
12,22:05,1
15,22:10,1
13,22:15,1""")

# replace mystr with 'file.csv'
df = pd.read_csv(mystr)

# convert time column to timedelta, assuming mm:ss
df['time'] = pd.to_timedelta('00:'+df['time'])

# filter for >= 22:10, i.e. second item
df = df[df['time'] >= df['time'].loc[1]]

print(df)

   speed     time  date
1     15 00:22:10     1
2     13 00:22:15     1