[英]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.