MySQL数据库导出的CSV文件是一个很让人头疼的文件格式,能够被电子表格软件读取,却不能够直接编辑,比如使用WPS这款软件,大多是需要另存为.xlsx等格式才能保存的,但这个格式却无法导入到数据库中。
我昨天纠结了一天想找一款工具,搜索了好多网站却没有找到一款能用的软件。今天经过曲线作战的方式,终于可以实现使用电子表格来批量编辑CSV文件内容,然后再导入到数据库中了,而不是需要在数据库中一条一条的去增加。
首先,每一个数据库导出的文件格式都不一样的,所以得区别来看。像我的这个,就只有几个表格有内容,,其他的全是占位符。
比如我这个导出的CSV表格里,里面重要的内容是A为数据为库ID号,B列填写数据查询内容,D列填写数据返回内容,H列中的NULL很重要,是这一行数据的结束符号。其实H列在我最初下载的表里是不可见的,可是我按其格式编辑后导入,却总是出错。后来使用notepad++打开表格时,发现是有这字符的。
虽然可以按CSV表格来写普通的xlsx格式表格内容,但想要把xlsx转换成CSV表格还是需要工具的,在这里我使用的是一个在线转换网站。https://convertio.co/zh/xlsx-csv/
转换完成后,可以下载到本地,但我后面也发现,除了第一个表格在转换后直接导入数据库是成功了的,后面的都失败了,检查代码时才发现,里面的逗号占位符如下图所示。
上面的写法“,””,””,””,”NULL”是错误的,”而正确的写法应该是“,,,,NULL”。这个时候怎么解决呢?
还是利用notepad++的替换功能,把他们进行修改,保存后再导入到数据库中。
另外数据库的ID挺重要的,虽然我并没有反复测试,但目前的几次使用中可以发现,数据库中已有的id号,是不能在表格中存在着的,否则会报错导入不成功。这一点可以后续再验证。
所以如以上猜测成立,数据库想要增加内容,可以在新ID号后加入。想要修改内容,则需要删除改ID号的那条数据后,再导入进去,来形成覆盖。
简而言之,总结一下,想要使用WPS电子表格批量增加修改MySQL数据库导出的CSV文件,先使用电子表格按CSV文件的格式内容来编辑内容,保存好后转换成CSV文件,并使用notepad++这一类的软件来查看标点符号等是否一致。检查没问题后导入到网站数据库中。