我有一个包含电子商务平台产品信息的CSV文件。 CSV文件包含多个具有相同产品ID和多个描述的行。每个值都由" ^"分隔。而不是逗号。 我想要实现的是将这些多行合并为一个和逗号分隔,并且只有一行包含产品信息。所以我的问题是组合多个具有相同属性的行。
以下是今天文件的格式化
productID^Element^Value<br>
id01^Status^01<br>
id01^edited^2016-01-01<br>
id01^Longdesc^Here goes the description<br>
id01^Longdesc^Here is the second line of description<br>
id01^longdesc^And the third row<br>
id01^image^Link to image 1<br>
这就是我想要实现的目标:
ID01, 2016-01-01, Here goes the description Here is the second line of description And the third row, link to image
另一个想法是将结构放到一个漂亮的XML文件中。
希望你们有一些很好的解决方案,可以帮助我。
谢谢!
答案 0 :(得分:0)
请尝试下面的代码。我相信这段代码可以正常使用。
public function import_product_from_csv() {
ini_set('max_execution_time', 1000);
$fh = fopen('your_csv_file.csv', 'r');
fgets($fh, 4096);
while (!feof($fh)) {
$buffer = fgets($fh, 4096);
$arrTemp = explode('^',$buffer);
if($arrTemp[0] != "") {
$data = array(
'productID' => $arrTemp[0], // codice provincia
'Element' => $arrTemp[1], //codice comune
'Value' => $arrTemp[2] //denominazione
);
$sql_query = "insert into table_name (productID, Element, Value) values ('".$arrTemp[0]."', '".$arrTemp[1]."', '".$arrTemp[2]."')";
mysql_query($sql_query);
}
/*echo "<pre>";
print_r($arrTemp);
echo "</pre>";*/
}
fclose($fh);
echo "Uploaded";
}
快乐的代码......