将mongodb中的数据导入mysqld

来源:互联网 发布:企查查如何导出数据 编辑:程序博客网 时间:2024/06/09 13:44

最近学习了一下将微博爬取的数据从mongodb导入mysql!
其实网上已经有很多教程了,导入过程不难,只不过在导入过程中出现了很多错误,所以在此记录一下。

一、用mongodb的导出工具mongoexport

用爬虫系统将微博上的部分数据爬取下来的内容如下两图,有两种形式:
形式一:
形式二:
用mongoexport将数据库导出成csv格式,打开mongodb的命令行窗口后,启动mongodb。启动之后,再重新打开一窗口,输入命令:
形式一对应命令:
形式二对应命令:
(注意:形式二中的geometry.coordinates.1等写法与形式一的不同)

最后,可以得到两个csv文件。如下图:


二、利用navicat for mysql工具将csv文件导入mysql中

如果直接将csv利用“导入向导”导入mysql,会出现错误:
比如它的目标栏位无法正确识别,以至于无法导入数据


但是用xlsx打开csv文件,发现它的分栏是正确的,可能是由于记事本无法自动换行的原因导致软件无法识别。于是我试着将csv导出成xlsx格式,因为xlsx格式有明确的分栏,在导成xlsx之前还需要将csv另存为编码为UTF-8的csv,不然xlsx中是乱码。如下图:


最后在excle中打开csv,并另存为xlsx格式。再用原来的方法重新导入,导入成功!


但是形式二的Tweets文件用同样的方法却无法导入成功,只能导入一部分的数据。错误如下:

原因是,微博爬取的数据中很多用到了emoij表情,但是这些emoij表情占4个字符,UTF-8只能保存3个字符,需要转换成UTF-8mb4格式,然而现在还没有找到合适的方法解决这个问题。网上有很多解决方案,但是试了之后还是没有用。也请各位大神能多多指教!

最后,附上我参考的几个优秀网址:http://chenzhou123520.iteye.com/blog/1641319
                                                                http://mobile.51cto.com/aengine-448430.htm
                                                                http://blog.csdn.net/yan943789510/article/details/44196317

0 0
原创粉丝点击