这是我的csv文件的样子:
我有三个字段(import site
,import goods
,import status
)来导入相应的数据。因此,如果用户点击import site
,则只有网站名称会被保存,而其余的则不会,import goods
和import status
类似。
site's
数据和status's
数据保存在一个表中,但goods
数据正在保存在与其网站相关的其他表中。如何将它们保存到多个表中?
答案 0 :(得分:3)
我将分享简单的代码片段来解析csv文件,也许这可以帮助
$i=0; $keys=array();$output=array();
$handle=fopen($filename, "r");
if ($handle){
while(($line = fgetcsv($handle)) !== false) {
$i++;
if ($i==1) {
$keys=$line;
}
elseif ($i>1){
$attr=array();
foreach($line as $k=>$v){
$attr[$keys[$k]]=$v;
}
$output[]=$attr;
}
}
fclose($handle);
}
这将完成这项工作,我总是在使用csv时使用它。要使这项工作,第1行必须包含键,例如:
import_site, import_goods, import_status
在$output
数组中,您将获得包含密钥$output["import_site"]
的数据,依此类推。
希望这会有所帮助。
答案 1 :(得分:0)
如果在mac上生成csv的问题,请记住这样做:
ini_set("auto_detect_line_endings", true);
可以节省很多时间;)