导入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 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值