繁体   English   中英

熊猫-带条件的read_csv

[英]Pandas - read_csv with conditions

我有一个csv文件,大部分时间以日期开头,但有时以文本开头。 因此:

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列中?

我知道您要求pandas解决方案,但是最近我遇到了类似的问题,我的解决方案是将每个文件作为文本文件打开,替换有问题的部分,保存回来,然后使用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)

...或类似的东西。 之后, read_csv变得更加简单,并且不需要read_csv迭代。

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM