在mint下导入csv数据到mongodb中,转换utf8编码

668 查看

先将excel里面的表格预处理,清理下复杂格式,把第一行置为英文字段名
将xls导出为csv格式: points.csv
这时在mongoimport中导入会提示:
exception:Invalid UTF8 character detected

是因为excel会使用系统编码到处GBK的文件编码.
在linux-mint中,使用系统自带的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 }