簡體   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