将带有tweets的文本文件解析为带有“|”delimi的csv

2024-04-28 21:32:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.txt文件包含地理标记的tweets。信息由“|”字符分隔。信息(可以视为列)是datetime、latitude、longitude和tweet\u文本。你知道吗

Date_time|latitude|longitude|tweet_text
Mon Jan 01 09:09:57 +0000 2018|-37.8140362|144.9644232|terima kasih 2017 yang ohsem. semoga 2018 akan lebih baik lagi.-selamat tahun baru rakan-rakan… 
Mon Jan 01 09:15:54 +0000 2018|-37.81639|144.9655|we love christmas and new year proposals! happy new year to everyone celebrating love this year… 
Mon Jan 01 09:42:08 +0000 2018|-37.818|144.985|@michaelpaynter entertaining everyone at yarra park nye event #melbourne| #nye #music… 
Mon Jan 01 09:45:16 +0000 2018|-37.818|144.985|@emilyurbandiva and brother @jwilliamsimusik entertaining everyone at yarra park nye eventâ€|¦

起初,我用

data = pd.read_csv('MelbCBD_scs2018_new.txt',sep="|", header=None)

,但每当tweet|文本包含“|”时,它就会抛出解析错误。你知道吗

我试图手动清理推文,但这是太多的工作,为大文件。因此,我更改了read\u csv的参数。你知道吗

data = pd.read_csv('MelbCBD_scs2018_new.txt',sep="|", header=None, quoting=csv.QUOTE_NONE,error_bad_lines=False)

但它会显示以下警告并跳过那些我不想要的行(基本上是tweets)。你知道吗

b'Skipping line 340: expected 4 fields, saw 5

理想情况下,我想要一个代码,删除任何特殊字符后,遇到3个字符在每行的.txt文件,即tweet|文本列,并解析成.csv文件,没有跳过任何一行。你知道吗


Tags: 文件csv文本txt信息newreadyear
1条回答
网友
1楼 · 发布于 2024-04-28 21:32:17

所以这只是一个通过指定列名来指定列数的问题。你知道吗

data = pd.read_csv('MelbCBD_scs2018_new.txt', sep="|", names = ["Date_time", "latitude", "longitude","tweet_text"], header=None, quoting=csv.QUOTE_NONE,error_bad_lines=False)

现在,它返回每一行而不跳过,并将其存储在名为“data”的数据帧中。你知道吗

相关问题 更多 >