如何使用php将此csv解析为数组

如何使用php将此csv解析为数组,php,csv,Php,Csv,将此跨域csv文件解析为数组的最佳方式是什么 示例数据: 2015-03-26 01:00; 1,428; 39,513 2015-03-26 02:00; 1,425; 39,294 2015-03-26 03:00; 1,422; 39,076 2015-03-26 04:00; 1,421; 39,004 2015-03-26 05:00; 1,416; 38,642 2015-03-26 06:00; 1,41

将此跨域csv文件解析为数组的最佳方式是什么

示例数据:

2015-03-26 01:00;     1,428;    39,513
2015-03-26 02:00;     1,425;    39,294
2015-03-26 03:00;     1,422;    39,076
2015-03-26 04:00;     1,421;    39,004
2015-03-26 05:00;     1,416;    38,642
2015-03-26 06:00;     1,416;    38,642
2015-03-26 07:00;     1,416;    38,642
2015-03-26 08:00;     1,416;    38,642
我试过这样的方法:

$file = fopen("http://somedomain.com/data.csv", "r");
while (($buffer = fgets($file)) !== false) {
    $fields = explode(";", $buffer);    
    print_r(fgetcsv($file));
    }    
fclose($file);
但它仍然以逗号而不是分号分隔数据。我很乐意接受任何建议

只需使用,指定“;”作为第三个参数中的分隔符。例如:

$fh = fopen('data.csv', 'r');

while (false !== ($row = fgetcsv($fh, 1000, ';'))) {
    print_r($row);
}
收益率:

Array
(
    [0] => 2015-03-26 01:00
    [1] =>      1,428
    [2] =>     39,513
)
Array
(
    [0] => 2015-03-26 02:00
    [1] =>      1,425
    [2] =>     39,294
)
Array
(
    [0] => 2015-03-26 03:00
    [1] =>      1,422
    [2] =>     39,076
)
// etc.

希望这有帮助:)

看看,您需要传递
的第三个参数以分号分隔。实际上,您的代码工作正常。添加
print\r($fields)
,您将在指定的分隔符处看到拆分的实际结果。仅供参考:您可以接受帮助您最多并解决问题的答案()。