2012-06-11 54 views
0

我需要「解析」一個像400000行一樣的cvs文件。 CVS的樣子:在colum csv文件中添加製表

ADDRESS ZIPCODE TOWN  NAME  DESCRIPTION 

我需要第一科拉姆分開這樣的:

ADDRESS  ZIPCODE  TOWN  NAME  DESCRIPTION 

這看起來很容易:添加製表(前後)ZIPCODE每次我看到5位(所有的地址是法國郵政編碼)。

但我不知道如何? 我嘗試了一個sed commande行,但我找不到好的語法。或者一個VBA應該更適合。

回答

1
sed -r 's/([0-9]{5})/\t\1\t/' yourFile.csv 

注意

  • 列命令是很好的解決了您的問題,如果您的csv是真的格式良好。例如您的說明文字中沒有「,」。

  • 上面的sed行將檢查文件的每一行,找到第一個出現的5個數字/數字並用TAB包裝它。我假設你的文件中的郵編是[space]number{5}[space]

  • 如果你的「ADDRESS」列中有相同的格式,那麼sed行會失敗。

+0

完美,我所有的地址都是「格式良好」,不是「」。 正是我需要的 –

0

使用列命令將拆分出來的.csv文件中的字段,如下所示:

column -s, -t file.csv