熊猫-带条件的read_csv

时间:2019-05-16 10:37:22

标签: python pandas csv

我有一个csv文件,大部分时间以日期开头,但有时以文本开头。所以f.E:

time                       user   text
2019-01-01T00:09:59-05:00: user1: text1 
2019-01-01T00:09:59-05:00: user1: text4
2019-01-01T00:10:10-05:00: operator: error \
 ERRCODE: error 'operator' info.
2019-01-01T00:09:59-05:00: user2: text5

如您所见,有时会有错误记录在新行中。我想将其读入pandas DF,并将第一列转换为日期格式。但是,ERRCODE搞砸了。我可以以某种方式有条件地读取文件(我有大量的数据,所以速度是一个问题),以便如果该行不是以日期开头,则将其连接到上一行的text列中?

1 个答案:

答案 0 :(得分:1)

我知道您要求使用pandas解决方案,但是最近我遇到了类似的问题,我的解决方案是将每个文件作为文本文件打开,替换有问题的部分,保存回来,然后使用{ {1}}。

例如,在您的情况下,我会按照以下方式进行操作:

read_csv

...或类似的东西。之后,for filename in files: with open(filename,'r') as f: file = f.read() file = file.replace('error \n','error') with open(os.path.join(folder,filename),'w') as f: f.write(file) 变得更加简单,不需要在行上进行迭代。

希望有帮助!