【问题标题】:Export php array to csv rows instead of columns将php数组导出到csv行而不是列
【发布时间】:2016-03-26 21:49:21
【问题描述】:

有没有办法将 php 数组放入 csv 文件中,将数组的每个项目作为新行输入?这就是我所拥有的:

$list = array (
        array('names'),
        array('bob,bill,john,sally'));

    $fp = fopen('files.csv', 'w');

    foreach ($list as $fields) {
        fputcsv($fp, $fields);
    }

    fclose($fp);

我的 csv 看起来像这样:

names
bob,bill,john,sally

但这正是我要找的:

names
bob
bill
john
sally

【问题讨论】:

  • 您所描述的不是 csv(逗号分隔值)。您应该只遍历数组,将名称添加到字符串(使用换行符),然后将该字符串保存到文件中(这样您就不会保存到文件中 100 次)
  • @JimL ok 很有意义。我正在使用我不熟悉的 Powershell 中的文件做一些事情,并且我可以轻松地以我想要的格式导入 csv。将每个项目保存到新行应该很容易。
  • 这是您的$list 声明中的拼写错误还是您缺少)?听起来你也能解决问题?
  • @Rizier123 这是一个错字谢谢。是的能够解决我用fwrite($fp, $fields.PHP_EOL);替换了我的fputcsv($fp, $fields);
  • @RyanLitwiller 因此,您可以根据需要自行回答您的问题,并通过接受将其标记为已解决。

标签: php arrays csv fputcsv


【解决方案1】:

这只是使用fwrite() 而不是fputcsv() 的问题

$list = array (
        array('names'),
        array('bob,bill,john,sally'));

    $fp = fopen('files.csv', 'w');

    foreach ($list as $fields) {
        fwrite($fp, $fields.PHP_EOL);
    }

    fclose($fp);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 2019-12-23
    • 1970-01-01
    相关资源
    最近更新 更多