iT邦幫忙

0

Txt檔匯入EXCEL 不規則字串資料剖析 求救

匿名 2016-01-06 00:52:275503 瀏覽

各位神人大家好

我手上有個txt檔

txt簡單呈現如下(同色為同一組欄位資料)

有不規則的空白的資料

資料剖析如下圖

整個資料欄位全都跑掉大哭大哭
如果資料少微調一下還OK
資料量大就要爆花長時間的精力在上面

想請問各位神人
有什麼良藥可以解決現在的囧況

看更多先前的討論...收起先前的討論...
ayu iT邦好手 5 級 ‧ 2016-01-06 02:59:05 檢舉
如果確定欄位應該只有三個, 寫個小程式把處理後
超過三個欄位的部份標示出來, 或是集合到另一檔案,
然後發還原輸入單位去更正, 並副知主管這個情況.
切記要讓主管知道你的努力和困難, 不要默默承受.

畢竟問題不是你造成的, 如果還有下一次, 怎麼辦?
ayu iT邦好手 5 級 ‧ 2016-01-06 03:18:04 檢舉
不過你也必須說清楚, 欄位之間應該用什麼特殊符號來區隔.
CalvinKuo iT邦大師 7 級 ‧ 2016-01-06 09:28:18 檢舉
請對方匯出資料時應該可以選分隔符號吧...
","," "遇到數字、字串常誤判,能用";"比較好。
ayu iT邦好手 5 級 ‧ 2016-01-07 13:33:16 檢舉
事情沒說清楚, 無異浪費大家的時間來猜謎啊!
匿名 檢舉
不好意思 讓廢您的時間了
下次有機會 會用更完善的表達方式表達
謝謝您

1 個回答

2
weiclin
iT邦高手 4 級 ‧ 2016-01-06 04:07:39
最佳解答

你給的樣本還是有些規則可循
第二欄位是以大寫字母加底線開頭
第三欄位是數字
如果所有的資料都按照這個規則, 那你隨便用個進階一點的文字編輯器先處理一下就行了

例如我用 NetBeans 為例子, 打開文字檔案:

然後用搜尋取代, 搭配 regexp 功能:

<pre class="c" name="code">//Find What:
^(.+) (\w+_.*) (\d+)

//Replace With:
$1,$2,$3

結果:

這樣就變成以逗號分隔, excel 應該就可以正確匯入了吧

看更多先前的回應...收起先前的回應...
weiclin iT邦高手 4 級 ‧ 2016-01-06 04:09:17 檢舉

最後圖片被蓋台了...重傳

James iT邦大師 7 級 ‧ 2016-01-06 08:25:19 檢舉

這樣不行,他的數字是最後一欄(第5欄),有些欄沒資料所以數字往前的欄跑

James iT邦大師 7 級 ‧ 2016-01-06 08:29:06 檢舉

如果只是這樣應該還可以處理,可是細看之下DC_mob好像也是從第3欄跑到第2欄,這就太難弄了。

我的話,會用 TAB 符號去取代空白格
然後手動去砍掉不需要的 TAB 符號
然後再轉到 EXCEL 用 TAB 符號作 欄位區隔
基本上就算是少欄位,原則上也會有個空白格
再去做點處理就好了

weiclin iT邦高手 4 級 ‧ 2016-01-06 12:46:24 檢舉

bruck提到:
這樣不行,他的數字是最後一欄(第5欄)

我想, 他用顏色標示的只有三欄, 第五欄那是跑掉的結果吧?

James iT邦大師 7 級 ‧ 2016-01-06 13:37:13 檢舉

原來是這樣,我紅綠分不大出來。

匿名 檢舉

請問:
搜尋取代, 搭 regexp 功能
能否判別連續2個以上的空白
取代成tab或逗號??

麻煩您指點謝謝

weiclin iT邦高手 4 級 ‧ 2016-01-07 10:33:08 檢舉

可以啊, 兩個以上連續空白用 \s{2,} 來表示

匿名 檢舉

感謝!!weiclin 果然是神大
回家好好研究 regexp 功能

我要發表回答

立即登入回答