【问题标题】:PHP reading CSV files in an odd orderPHP以奇怪的顺序读取CSV文件
【发布时间】:2017-12-01 00:25:50
【问题描述】:

我正在使用 League CSV 库,但是当我使用内置 PHP 函数时,也会发生同样的事情。这是我的电子表格:

ID    column A  column B    column C
123   apple     orange      pear

这是我的代码:

$stmt = (new Statement())
    ->offset(0)
    ->limit(2)
;

$records = $stmt->process($csv);
foreach ($records as $record) {
    print_r($record);
}

最后,这是输出。请注意,ID 值 (123) 悬在左侧。我什至不确定这是什么意思。

Array 
(
    [0] => ID
    [1] => column A
    [2] => column B
123 [3] => column C
    [4] => apple
    [5] => orange
    [6] => pear
)

编辑:这是原始 CSV 文件。换行符可能是回车?

ID,column A,column B,column C
123,apple,orange,pear

【问题讨论】:

  • CSV 文件看起来像什么“原始”?换行符是什么?
  • @mulquin 查看我的编辑
  • 我期待它,因为您假设一列以逗号结尾 , 但一行中的最后一列以 NewLine 结尾
  • 也许如果您向我们展示Statement 类的代码,我们可以验证这一点
  • @RiggsFolly 这是一个包含十几个单独文件的巨大库。这太愚蠢了,显然没有简单的方法来完成这个非常基本的功能。

标签: php arrays csv


【解决方案1】:

这真的很糟糕。由于我使用的是 Mac,因此需要将此行添加到脚本的顶部:

ini_set('auto_detect_line_endings',TRUE);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2021-03-11
    • 1970-01-01
    • 2013-09-05
    相关资源
    最近更新 更多