python_當原始檔案欄位不固定時的讀取方式
<Line廢文分析> Part1: Line的聊天紀錄輸入
Published in
3 min readDec 27, 2019
最近無聊想說來研究看看「范友line聊天室」都在講些什麼話,因此輸出了開站至今(2019/9/26~)聊天紀錄來看看,Line抓下來的raw data如下:
可以發現這個格式不是完整的n*3矩陣。實際上如果以’換行符號/t’區隔後,實際的樣子為(第1欄灰色,第2欄綠色,第3欄紅色):
如果直接使用pd.read()會輸入失敗(error如下)。意思是期待第5行出現1個欄位,卻出現了2個欄位。
因此,要解決欄為不一的問題,我們可以透過以下語法:
my_cols = ["A", "B", "C"]
df0 = pd.read_csv(f0,encoding='utf-8', names=my_cols,sep='\t')
我們可以強制告訴pandas總共有3個欄位(my_cols = [“A”, “B”, “C”]),然後pd.read()時,names = my_cols。那就可以成功讀取囉!可以發現沒有值的欄位,pandas會直接補上NaN。
下一章節,我們再來介紹要怎麼處理日期及時間在同個欄位的問題,我們想要讓日期能夠獨立成一個欄位,好方便後續分析…XD