导入CSV,以分号分隔,并以引号分隔

问题描述

我需要您的帮助来解决将.cv本地文件导入到MariaDB 10.3数据库的问题。在我的服务器上,我正在运行PHP7.2。

要导入,请使用带有以下语句的PHP脚本:

exec("mysql -u Myuser -pMySrtongPassword -e \"USE MyDatabase;
TRUNCATE MyTable;
LOAD DATA LOCAL INFILE '/var/www/html/upload/file.csv' IGNORE  INTO TABLE MyTable FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES ;\"; ");

这对于我需要导入的大多数.csv文件都适用。但是,我有一些.csv文件具有以下格式:

"field1"; "field2"; ..... "fieldN";

它们之间用分号分隔,并用引号分隔。

有人对如何正确导入这些文件有任何想法吗?

解决方法

在“加载数据”中添加OPTIONALLY ENCLOSED BY '\"'

TRUNCATE MyTable;
LOAD DATA LOCAL INFILE '/var/www/html/upload/file.csv' IGNORE  INTO TABLE MyTable FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES ;

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...