我正在使用下面的代码将数据添加到基于从csv文件导入的csv文件中。当我将新数据写入新的csv文件时,一切看起来都不错!但我想将新数据添加到新列中。我会尝试用一个例子来解释。将新数据追加到现有csv php
原始csv的第一列包含Id's。这些ID用于从远程网站获取数据。这些数据被保存到一个名为csv_array()的数组中。 :
$id = array();
if (($handle = fopen($filename, 'r')) !== false)
{
while (($data = fgetcsv($handle, 1000, ";")) !== false)
{
if ($data[0] != null)
{
$id[] = $data[0];
}
}
fclose($handle);
}
$csv_array = array();
foreach ($id as $product_id)
{
array_push($csv_array, $arr = array_merge(array('id' => $product_id), $product_info, $images));
}
下一步是将此数据插入到一个新的.csv文件中。
function export($csv_array)
{
$filename = "info.csv";
$fp = fopen($filename, 'w');
fputcsv($fp, array_keys($csv_array[0]), ';');
foreach ($csv_array as $fields)
{
fputcsv($fp, $fields, ';');
}
fclose($fp);
}
这一切都有效,但我想将新数据追加到原始csv的三个新列中。我尝试使用$ fp = fopen($ filename,'a');但是这会将新数据追加到csv的末尾而不是三个新列。谁可以给我一个提示:)