sql文件导入,其中文本包含逗号(,)

wwodge7n  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(330)

我正在尝试将csv文件导入mysql数据库。问题是有些文本用“” Package 并包含逗号。
逗号也是单元格的分隔符,因此当文本包含逗号时,它将拆分为一个新单元格。
文件如下所示:

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 ','
nuypyhwy

nuypyhwy1#

我通过删除“”中的逗号来解决问题。

perl -pe 's/[^a-zA-Z0-9.\s"](?!(?:"[^"]*"|[^"])*$)//g' Data.csv > /tmp/data.csv
6yoyoihd

6yoyoihd2#

您只需添加可选的由“'”括起的:
加载数据infle“/tmp/data.scv”replace到表database.table(可选地用“'”列括起来,以“,”结尾)

相关问题