作者:
lh1122 (琳)
2018-03-29 16:00:25大家好,
csv某欄的資料裡面包含逗號,
當用python抓的時候就會產生問題,
想請教有什麼方式可以抓某欄格式不整齊的csv資料。謝謝
你的 cvs 內容內,有逗點的資料有用雙引號包起來嗎?
作者:
lh1122 (琳)
2018-03-29 16:28:00沒有用雙引號包,資料來自老師,但筆數過多也無法人工加雙引號
作者:
ddavid (謊言接線生)
2018-03-29 16:31:00如果後欄是數字的話就還有機會,你可以在這一欄特別處理讀到數字為止(前提是這欄裡面沒數字)或者這一欄如果「一定有剛好一個逗號」的話,你可以當成兩欄來讀,再合併並補上中間的逗號若沒以上這些比較好處理的情況,要程式自動處理就不容易了
作者:
lh1122 (琳)
2018-03-29 16:43:00該欄像人的一般敘述,所以有多個逗號,部分可能也有數字,此外下一欄還是文字
作者:
lh1122 (琳)
2018-03-29 16:47:00感覺沒有,屬於人的描述,有逗號、數字、文字
作者: Kazimir (Kazimir) 2018-03-29 16:56:00
如果只有這一欄是這種情況 那你就把切開來會比正常多幾欄的那些挑出來 特別處理以後再放回去
目前想到可以寫個file I/O的script 將逗點數量不正確的lines濾出來另外處理
作者:
lh1122 (琳)
2018-03-29 17:18:00想問K大要怎麼切呢,要依據什麼切?也想問J大要依據什麼過濾呢?
作者: vfgce (小兵) 2018-03-29 17:19:00
不考慮放個資料圖給大家看一下你的資料長什麼樣?
line by line讀取,count逗號數量,正確的話將該行寫到file A,否則寫到file B
作者: vfgce (小兵) 2018-03-29 17:36:00
你的逗號看來是全形,應該不影響啊.....
作者:
lh1122 (琳)
2018-03-29 17:38:00用regex找電話號碼的欄位,前面的都當成地址行不行
作者:
iitze (ici la lune)
2018-03-29 18:16:00反過來抓,後面三個欄位保留,前面合併
作者: vfgce (小兵) 2018-03-29 18:32:00
假設你的資料都是高雄,line 為讀入的一行a,b=line.split('07-')a就是地址部分,b自行把'07-'補上,再做一次split
如果資料是你貼的這樣,從後面切回來就好啦,rsplit(‘,’,5)
作者:
lh1122 (琳)
2018-03-29 23:19:00感謝各位前輩的慷慨幫助,等我拿到真實資料就來試試,再次感謝
作者:
junkuo (唉)
2018-03-30 10:12:00這圖裏面是不是有個資?要注意喔,會被告的
作者:
Neisseria (Neisseria)
2018-03-30 11:08:00作者:
lh1122 (琳)
2018-03-30 11:32:00謝謝J大提醒,這是開放式資料下載來的也謝謝N大我來研究看看