我有一个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
列中?
答案 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)
变得更加简单,不需要在行上进行迭代。
希望有帮助!