我用Navicat for mysql管理mysql,经常导入csv文件,遗憾的是不能直接导入,那么csv文件应该怎么导入到mysql中呢?
一、转xls文件或xlsx格式,即excel格式。但遗憾的是xls文件有很多限制,比如最多6万5000条数据,比如存放数据大小限制等等;而xlsx也偶然出现一些莫名错误,但基本没什么问题。
二、转xml格式。这个导入一般都不会有什么问题,只是需要明确行和列字段,有的时候你可能还需要对xml再次修改。
上面两种方法都是可以把csv导入到mysql中的,只是操作起来比较麻烦,那么有没有什么更简单的方法,比如可以直接把csv导入mysql的?答案是肯定的。
我们用文本编辑器打开csv文件可以发现,csv数据一条占一行,而每个单元格之间是用逗号分隔的,因此应该是可以把csv当作txt文件导入的!
测试结果也说明了上面的猜想:csv可以直接当作txt文件,直接导入到mysql中!具体操作步骤如下:
1、导入时选择txt文件。需要注意的是,文件格式需要选择“全部文件(*.*)”,要不你会看不到你要选择的csv文件。
2、栏位分隔符选择逗号。
3、其他操作你应该都会吧,我就略过了,到最后一步,选择字段时发现:乱码了!
这样导入肯定不行,所以我们的错误在于?肯定是编码问题呗,回到第1步,在选择了文件后我们需要制指定一下编码格式(gb2312,为方便你可以直接选中“编码”后输入20936)。具体如下图所示:
继续之前的步骤,完美导入。
最后,附加一点相关操作技巧:多个csv文件的合并方法。我们要导入的csv文件有的时候可能会很多,一个个导入实在是繁琐而浪费时间,如果能够把多个csv文件合并成一个,那么导入就更加简单方便了。那么多个csv文件应该如何合并呢?答案很简单:
1、把需要合并的csv文件放到同一个文件夹中,该文件夹中不要有其他csv文件
2、打开文本编辑器,复制以下内容(其中最核心的是copy *.csv all_keywords.csv一句,其他可以不要):
@echo off
copy *.csv all_keywords.csv
@echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@echo @@@@@ It's ok! @@@@@
@echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
pause
3、另存为x.bat格式,保存到csv所在文件夹
4、双击该bat文件,然后会在该文件夹中创建一个名为all_keywords.csv的文件,该文件即为合并多个csv后所得的最终文件!
© 致远 2020-11-18,原创内容,转载请注明出错:mysql导入csv文件及多个csv的合并方法