【发布时间】:2017-08-26 14:44:17
【问题描述】:
所以我需要我的所有数组键成为 excel 电子表格中的第一列(第 0 列),并且数组的值将用于填充 csv 文件的其余列(第 1-5 列) )。
看下面的例子
代码:
$array = array();
foreach($k["Time)"] as $key => $value)
{
$array[] = [$value];
}
print_r($array);
$file = fopen('demosaved.csv', 'w');
fputcsv($file, array('Column 0','Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5'));
$data = array_values($array);
foreach ($data as $row)
{
fputcsv($file, $row);
}
fclose($file);
我也尝试了以下并收到此错误“数组到字符串转换”:
foreach($k["Time Series (1min)"] as $key => $value)
{
$array[] = [$key, $value];
}
var_dump($array);
$file = fopen('demosaved.csv', 'w');
fputcsv($file, array('Column 0','Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5'));
$data = $array;
foreach ($data as $row)
{
fputcsv($file, $row);
}
fclose($file);
【问题讨论】:
-
那么到底是什么不工作?
-
仅将数组值打印到 csv,我无法将数组键打印到第 0 列以及将数组值打印到第 1-5 列
-
你能显示
var_dump($array)的输出吗?这将极大地帮助找出问题所在。 -
数组 ( [0] => 数组 ( [0] => 2017-08-25 16:00:00 [1] => 数组 ( [1. open] => 141.9550 [2.高] => 141.9800 [3. 低] => 141.9200 [4. 收盘] => 141.9700 [5. 成交量] => 978667) ) [1] => 数组 ([0] => 2017-08-25 15: 59:00 [1] => 数组 ( [1. open] => 142.0200 [2. high] => 142.0300 [3. low] => 141.9500 [4. close] => 141.9575 [5. volume] => 369713 ) )
-
我不知道你是否已经看到我的答案,但我更新了你的数组。希望这就是你想要的。我最终测试了它并且它有效。