myeclipse做网站更改名字,最近国际新闻,企业网站建设公,wordpress运行crawlingmysql导入超大csv指南需求描述手头下载了一个比较大(400Mb)的语料数据#xff0c;需要从里面提取出某两种语言的句子对#xff0c;因为数据特别大#xff0c;且csv并非标准以逗号分隔而是以tab分隔#xff0c;尝试用Navicat的导入向导导入失败。另外以后也可能会有处理超大… mysql导入超大csv指南需求描述手头下载了一个比较大(400Mb)的语料数据需要从里面提取出某两种语言的句子对因为数据特别大且csv并非标准以逗号分隔而是以tab分隔尝试用Navicat的导入向导导入失败。另外以后也可能会有处理超大csv的场景mark一下方法备用。失败方法一开始打算直接用Navicat进行导入尝试了一下输入向导。这里一个坑点如果你选择csv格式字段分隔符是不可选的如下图。这时候可以在上一步就选择文本txt然后就可以自定义分隔符了如下图。虽然但是这里也没有tab(\t)的选项其他那里莫名其妙只能输入一个字符所以也输入不了\t尝试直接下一步会一直卡住虽然没有显示无响应但是一直在处理中等了半个小时也不管用所以这个方法不行。正确食用方法实验环境mysql 8.0 win10使用Navicat进行操作实际上mysql是可以直接读csv文件来进行导入的方法也超级简单。首先需要放开允许本地导入文件SET GLOBAL local_infile ON;看到下面执行结果为OK就可以了然后进行导入。LOAD DATA LOCAL INFILE PATH_TO_CSV_FILE INTO TABLE TABLE_NAME FIELDS TERMINATED BY \t LINES TERMINATED BY \n(FIELD1, FIELD2, ...);填入csv的路径和表名然后TERMINATED BY就是分隔符后面LINE TERMINATED BY是每行结束的标志一般来说是换行符\n后面field就是数据库中指定的字段。运行以后需要等待一段时间这个时间取决于数据库io速度了。我这里做了一次清空表再做导入可能IO比较忙用了快三分钟第一次导入的时候只用了78秒速度还是蛮快的。另外这里也可以看到数据量蛮大的一共800w条。其他处理超大csv的经验如果需要打开一个超大的csv千万不要用记事本(Notepad)打开百分百卡死。如果只需要进行文本编辑可以使用vscode打开很快保存也比较快但不方便进行简单编辑以外其他操作。其次使用pycharm自带的文本编辑器也能够比较快地打开超大的csv。也有推荐说用UltraEdit之类的打开的因为vscode现有不再测试。可以使用Excel的从csv导入的功能(在数据-从文本/csv)另外也可以选择文件编码(如utf-8)和分隔符他也能够自动检测(不太好用)。预览一下没问题点加载即可。但是excel有行数限制(大概)反正这份超大的语料我就无法加载。另外如果使用excel直接打开utf-8编码的csv会出现乱码因为win的默认编码是gbk(目前可以把win的全局编码设置成utf-8该设置在地区与语言里但是开启后不支持utf-8编码的软件可能会出现文件夹乱码、软件界面乱码等奇怪的情况还是不能开启)。同时也无法识别逗号以外分隔符的csv。因此必须用导入的方法打开。