2016-04-04 71 views
0

我有一個由本地文件夾的CSV輸入填充的MySQL表。我通過將Excel工作表導出爲.txt格式創建CSV,添加逗號分隔符並將編碼更改爲UTF-8,這是因爲在插入從Excel直接導出的CSV時出現錯誤。從Excel到CSV的CSV文件的字符編碼

問題是:是否可以跳過手動將導出的CSV文件更改爲TXT並將其編碼爲UTF-8文件的步驟?我想到的目標是直接從Excel導出UTF-8 CSV,或者使用腳本導出到文件夾。

感謝您的答案。

回答

0

可能Excel to CSV with UTF8 encoding的副本,你可以檢查那裏拼湊一個答案。

雖然,我不確定任何答案是否真的給出了權威/簡潔的編程方式來解決問題。如果使用VBA是一種選擇,請查看這篇文章,該文章提供了一個非常完整的解決方案:http://www.cpearson.com/excel/ImpText.aspx

如果不是,您可以詳細說明Sebastian Godelet在評論中暗示的解決方案(請查看上面的SO鏈接!)。我會按照腳本中的下列步驟操作:

  1. 出口到TXT
  2. 使用的iconv從UTF-16轉換爲UTF-8
  3. 使用sed將製表符轉換爲逗號

我找不到1非VBA,非GUI解決方案,但是2和3可以通過簡單地做

iconv -f utf-16 -t utf-8 file.txt | sed $'s/\t/ /' newfile.txt 

,其中$是一個bash的方式來詮釋完成製表符(如果使用其他shell,可能有另一種方法來正確解釋字符串)。至於1,如果您導出爲txt,則可以從excel直接導出到utf-16 txt,然後針對文件夾中的每個文件運行此操作。