我正在尝试将csv文件导入MySQL数据库。 问题是某些文本用“”包裹并包含逗号。
逗号也是单元格的分隔符,因此当文本包含逗号时,它将拆分为一个新的单元格。
文件看起来像这样:
id,first name,last name,comment
"152,45,3",James,Bond,"Hi, this is my comment."
"152,46,3",Donald,Duck,Comment whitout caracters
"152,47,4",Peter,Peterson,"Hi! Cool, this is my comment"
有人对此有解决方案吗?
我已经尝试过将其导入:
sed '/id/d' "Data.csv" > /tmp/data.csv
SQL:
LOAD DATA INFILE "/tmp/data.scv"
REPLACE INTO TABLE database.table
COLUMNS TERMINATED BY ','
答案 0 :(得分:0)
您只需要添加可选的'''封闭的内容:
加载数据文件“ /tmp/data.scv” 替换为TABLE database.table 可选用“”包围 列以','
结尾答案 1 :(得分:0)
我通过删除“”内的逗号来解决。
perl -pe 's/[^a-zA-Z0-9.\s"](?!(?:"[^"]*"|[^"])*$)//g' Data.csv > /tmp/data.csv