0

我正在尝试读取和显示 CSV 文件的内容。出于某种原因,它与我试图阅读的这个文件出错了。

这是我的代码。

<?php
if (($handle = fopen("http://testdummies.dk/csv/weird2.csv", "r")) !== FALSE) {

while (($data = fgetcsv($handle, 0, ";")) !== FALSE) {
    echo "<pre>";
            print_r ($data);
            echo "</pre>";

}
fclose($handle);
}
?>

我使用丹麦 CSV 文件,所以它使用 ; 代替 ,!

我在http://testdummies.dk/csv/testdups2.php做了这个测试

它生成的前 3 个数组是正确的,但第 4 个在“单元格”47 处爆发。我只是不知道为什么。(该文件在 excel 中打开良好)。

该文件位于http://testdummies.dk/csv/weird2.csv

提前致谢。

勒内

4

2 回答 2

2

这篇博文说 PHPfgetcsv()不能正确处理引用的换行符。他提供了自己的CsvFileParser课程来解决这个问题。

于 2013-08-30T07:46:49.477 回答
0

感谢@Barmar 的回答……从那篇博客文章中,我发现了一个基于 CsvFileParser 类构建的稍微更新的库,并带有一些附加功能。

解析CSV

例如,ParseCSV 库的构建允许自动忽略文件中的标题行。此外,结果数组输出的结构似乎更清晰。

于 2014-02-16T23:16:42.017 回答