我有一个脚本,用于将.CSV数据导入MySQL数据库。当我进入MySQL时,第一个数据字段(电子邮件地址)仍然有引号。其他字段,引号被删除。
我的CSV行看起来像这样:
“email4@email.com”,“Karla”,“史密斯”
“email5@email.com”,“Carl”,“Nichols”
电子邮件地址在MySQL中仍然有引号。名字和姓氏都很好。
有什么建议吗?
<?php
$conn = mysql_connect('host','username','password');
mysql_select_db('db-name');
mysql_query("TRUNCATE TABLE contacts") or die(mysql_error());
mysql_query("LOAD DATA LOCAL INFILE 'New Member Weekly Report for Marketing.csv'
INTO TABLE contacts
Fields terminated by ',' ENCLOSED BY '\"'
LINES terminated by '\r'(
contact_email
,contact_first
,contact_last)")
or die("Import Error: " . mysql_error());
?>
答案 0 :(得分:0)
稍微用谷歌搜索,我发现了这个:
您可以直接将MYSQL链接到它并使用以下SQL语法上传信息,而不是编写脚本以从CSV文件中提取信息。
要将Excel文件导入MySQL,请先将其导出为CSV文件。从生成的CSV文件中删除CSV标题以及Excel可能放在CSV文件末尾的空数据。 然后,您可以通过运行以下命令将其导入MySQL表:
load data local infile 'uniq.csv' into table tblUniq fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(uniqName, uniqCity, uniqComments)
这里的字段是数据需要放在的实际tblUniq表字段。封闭的和和终止的行是可选的,如果你的列用双引号括起来可以帮助,例如Excel导出等。
来源:http://www.tech-recipes.com/rx/2345/import_csv_file_directly_into_mysql/