【发布时间】:2020-10-06 06:59:13
【问题描述】:
我正在使用 fputcsv 从 MySQL 结果写入 CSV:
$list = array("group, variable, value \r\n");
while ($row = mysqli_fetch_assoc($result)) {
array_push($list, $row['strand_pk'] . ',' . $row['unit_name']. "\r\n");
}
$fp = fopen('../reports/data.csv', 'w');
fputcsv($fp, $list);
fclose($fp);
在浏览器页面上打印的数组如下所示:
Array
(
[0] => group, variable, value
[1] => 1,Integrated Medical Systems 1
[2] => 1,Integrated Medical Systems 2
[3] => 1,Integrated Medical Practice 1
...
)
带有输出的 CSV 如下所示:
"group, variable, value
","1,Integrated Medical Systems 1
","1,Integrated Medical Systems 2
","1,Integrated Medical Practice 1
..."
我需要的是 CSV 的样子:
group,variable,value
1,IMP 3,40
1,IMP 2,8
1,IMP 1,54
1,IMS 2,10
我在这里做错了什么?
【问题讨论】:
-
fputcsv将 一行 写入 CSV,您正在尝试使用它一次写入整个多行数组。你的“行”数据实际上并不是一个数组,而是一串逗号分隔的值。