我有一个 CSV 文件,其字段如下。
number1, string1, "string2, string3", number2, string4, "string5, string6"
Run Code Online (Sandbox Code Playgroud)
其中数字是数字,字符串是字符串。我正在尝试按如下方式阅读此内容,我忽略了第一个标题行
LOAD DATA LOCAL
INFILE 'filename.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
IGNORE 1 LINES;
Run Code Online (Sandbox Code Playgroud)
但是由于在某些字段中嵌入了逗号,此命令会导致字段重叠。我将如何在 MySQL 中正确执行此操作?
您只需要添加OPTIONALLY ENCLOSED BY '"':
LOAD DATA INFILE 'filename.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
IGNORE 1 LINES;
Run Code Online (Sandbox Code Playgroud)
文档链接。
文件:
n1,s1,s23,n2,s4,s56
1,string1,"str2,str3",2,string4,"str5, str6"
Run Code Online (Sandbox Code Playgroud)
表和测试:
mysql> create table tbl_name (
n1 integer,
s1 varchar(10),
s23 varchar(10),
n2 integer,
s4 varchar(10),
s56 varchar(10)
);
Query OK, 0 rows affected (0.06 sec)
mysql> LOAD DATA INFILE 'c:\\temp\\data.txt' INTO TABLE tbl_name
-> FIELDS TERMINATED BY ','
-> OPTIONALLY ENCLOSED BY '"'
-> IGNORE 1 LINES;
Query OK, 1 row affected (0.01 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9216 次 |
| 最近记录: |