我正在尝试通过 PHP 将数据从 CSV 文件导入 MySql。
我有 2 个 csv 文件。一个如下所示:
我已成功将其插入到我的数据库中。我使用了以下代码:
<?php
require("config.php");
mysql_select_db("magic",$db_link); //select the table
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT INTO alvis_input (a_zone, a_address) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."'
)
");
}
} while ($data = fgetcsv($handle,10000,",","'"));
//
//redirect
header('Location: file_alvis.php?success=1'); die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Import data from CSV file</title>
</head>
<body>
<?php if (!empty($_GET[success])) { echo "<b>Your file has been imported.</b><br><br>"; } //generic success notice ?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
Choose your file: <br />
<input name="csv" type="file" id="csv" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
现在我需要从一个新的 csv 文件在同一个 mysql 表中插入数据,如下所示:
您可以看到,新的 csv 只有 1 列包含诸如“区域 175/4”之类的数据,我需要删除“区域”并拆分“175”和“4”,然后需要插入具有 2 列的数据库表。
知道如何处理这个吗?