1. 程式人生 > >匯入csv資料到mongodb中出現問題:exception:Invalid UTF8 character detected

匯入csv資料到mongodb中出現問題:exception:Invalid UTF8 character detected

先將excel裡面的表格預處理,清理下複雜格式,把第一行置為英文欄位名
將xls匯出為csv格式: points.csv
這時在mongoimport中匯入會提示:
exception:Invalid UTF8 character detected

是因為excel會使用系統編碼到處GBK的檔案編碼。在linux中,使用系統自帶的iconv轉換該檔案為utf8格式

iconv -f gbk -t UTF-8 points.csv > points_utf8.csv

具體引數可以參考:
iconv --help

這樣轉換好的檔案就是points_utf8.csv
使用mongoimport匯入(安裝mongodb即自帶匯入工具)
mongoimport -d test -c students --type csv --file ./points_utf8.csv --headerline --upsert

同樣 具體引數解釋可以參見 mongoimport -h
points裡面的內容就會被轉換到mongodb:test db的students集合中.
每一行作為一個object有一個唯一的id,之前在表格中定義的headerline為key的document插入.

{ "_id" : ObjectId("553edfdac4e551239d3c975b"), "name" : "張三", "teamName" : "某某班", "ss1" : 12, "ss2" : "", "ss3" : 37, "ss4" : 45, "ss5" : "", "ss6" : "", "ss7" : 18, "ss8" : 24, "ss9" : 17, "ss10" : 11, "ss11" : 9, "ss12" : 15, "ss13" : 10, "ss14" : 13, "ss15" : 24, "ss16" : 26, "po1" : 21, "po2" : 38, "fn1" : "", "fn2" : 25, "fn3" : 23 }