csv到mysql数据库如何分割
2013-10-27 16:18
295 查看
这两天修改一个取XML文件存入到CSV,然后再存入到mysql的bug,bug是XML文件里面有个name字段,存入CSV文件里面的时候我们用“|”,来分割字段。但是name里面有时候也有“|”,这样就出现了问题,存入数据库对不上字段了。
开始的时候我试着把“|”换成“`”,但是测试发现名字中也有“`”,后来想加多两个分割符,无奈CSV导出只支持一位
csv.writer(f,delimiter=','),delimiter=','只能是一位。
再后来想干脆在名称后面都手动加上个“|”,例如本来是((“1”,“Test”,"OK"),("2","Test2","OK")
我加上“|”,变成((“1|”,"Test|",“OK”),("2|","Test2|",“OK”)),分割符是“,”,那么在CSV文件里面就成了
1|,Test|,OK
2|,Test2|,OK
这样在导入mysql时候设置分割符为“|,”,就可以搞定了。
愿望是美好的,现实是残酷的,还是失败。如果Name有“,”,CSV文件会变成
1|,“Tes,t|”,OK
2|,Test2|,OK
存入数据库name变为““Tes,t|”,OK”,字段中有和分割符一样的,就会加上“”来区分。
后来查CSV存入的方法,发现可以设置分割符。见http://docs.python.org/2/library/csv.html?highlight=csv
我设置为csv.writer(f,delimiter=',',quotechar='"',quoting=csv.QUOTE_ALL)
这样每个字段我都加上““”,然后以","隔开。
在文件导入mysql的时候正好也有对应的分割符和去掉””“的方法。名称中出现【“,”】的概率不大
见http://dev.mysql.com/doc/refman/5.1/en/load-data.html
FIELDSTERMINATEDBY','ENCLOSEDBY'"'[/code]
开始的时候我试着把“|”换成“`”,但是测试发现名字中也有“`”,后来想加多两个分割符,无奈CSV导出只支持一位
csv.writer(f,delimiter=','),delimiter=','只能是一位。
再后来想干脆在名称后面都手动加上个“|”,例如本来是((“1”,“Test”,"OK"),("2","Test2","OK")
我加上“|”,变成((“1|”,"Test|",“OK”),("2|","Test2|",“OK”)),分割符是“,”,那么在CSV文件里面就成了
1|,Test|,OK
2|,Test2|,OK
这样在导入mysql时候设置分割符为“|,”,就可以搞定了。
愿望是美好的,现实是残酷的,还是失败。如果Name有“,”,CSV文件会变成
1|,“Tes,t|”,OK
2|,Test2|,OK
存入数据库name变为““Tes,t|”,OK”,字段中有和分割符一样的,就会加上“”来区分。
后来查CSV存入的方法,发现可以设置分割符。见
我设置为csv.writer(f,delimiter=',',quotechar='"',quoting=csv.QUOTE_ALL)
这样每个字段我都加上““”,然后以","隔开。
在文件导入mysql的时候正好也有对应的分割符和去掉””“的方法。名称中出现【“,”】的概率不大
见http://dev.mysql.com/doc/refman/5.1/en/load-data.html
LOADDATAINFILE'data.txt'INTOTABLE[code]tbl_name
FIELDSTERMINATEDBY','ENCLOSEDBY'"'[/code]
“TERMINATEDBY”就是以哪个字符分割
“ENCLOSEDBY”就是字段被哪个字段包围
大功告成!
相关文章推荐
- mysql一条语句删除多表(多表删除)
- mysql中data too long for column问题的解决方法
- mysql数据库常用的查询语句(多表查询)
- mysql数据库常用的查询语句(单表查询)
- MySQL安装没有弹出配置向导
- JDBC连接mysql数据库CRUD封装类
- MySQL的各种SHOW
- MySQL AB复制
- mysql "insert into select"与"select into"两种表复制
- mysql中不区分表名大小写的方法
- mysql 默认是表级锁一些不太常用命令
- mysql存储过程与函数的区别
- Mysql储存过程
- 【转】MySQL5安装的图解(mysql-5.0.27-win32.zip)
- ubuntu 13.04 install mysql5.6.14
- mysql 查询优化之explain关键字
- ubuntu系统mysql.h no such file or directory
- mysql设置远程访问数据库的多种方法
- MySQL定时执行脚本(计划任务)命令实例
- MySQL数据库设置远程访问权限方法小结