【问题标题】:Write 2 columns in a csv file from an array从数组中写入 2 列到 csv 文件中
【发布时间】:2016-02-04 21:11:29
【问题描述】:

我正在尝试在 csv 文件中写入 2 个不同的列,但我发现的所有内容都使用分隔符设置了第一列中的所有值。

这是对php.net上脚本示例的小修改

<?php
$list = array (
    ['City', 'Country'],
    ['Brussels', 'Belgium'],
    ['Paris', 'France'],
    ['Berlin', 'Germany']
);

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

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

fclose($fp);
?>

And here is my csv file(我用 Excel)

我的问题:A 列中的城市和 B 列中的国家是可能的吗?

感谢您的帮助

【问题讨论】:

  • 你说的是在 excel 中导入 csv?
  • 是的,我使用 excel 2016

标签: php excel csv


【解决方案1】:

您需要告诉您的电子表格程序,这些列是用逗号分隔的。

您可能会在打开文件时选择指定分隔符。

我认为您在列上也有一个选项 - 例如“文本到列”

【讨论】:

  • 刚刚在 MS Excel 上查看,文本到列选项位于数据下
  • 你输出的文件是文本。 CSV 文件只是 2D 表格的文本表示。您只需要告诉 Excel 如何打开它。其他电子表格会在打开文件时询问。
  • PS 如果我的回答是正确的,请采纳。谢谢。
【解决方案2】:

您可以告诉fputcsv() 使用不同的字符串作为分隔符而不是逗号。这将使用TAB,这可能是 Excel 的默认值:

fputcsv($fp, $fields, "\t");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 2017-06-27
    相关资源
    最近更新 更多