首页 >后端开发 >php教程 >如何在 PHP 中使用 fgetcsv 解析带有嵌入式逗号的 CSV 文件?

如何在 PHP 中使用 fgetcsv 解析带有嵌入式逗号的 CSV 文件?

Linda Hamilton
Linda Hamilton原创
2024-11-24 14:31:44893浏览

How to Parse CSV Files with Embedded Commas in PHP Using fgetcsv?

使用 PHP 使用 fgetcsv 从 CSV 文件创建数组

问题:

用户想要使用 fgetcsv 函数从 CSV 文件创建数组。然而,当字段包含多个逗号(例如地址)时,他们当前的代码就会出现故障。他们也无法访问 str_getcsv。我们可以提供解决方案吗?

答案:

使用 fgetcsv 解析 CSV 文件

如标题所述, fgetcsv 是解析 CSV 文件的绝佳选项。它提供了一种将每一行分解为元素数组的有效方法。

这是一个使用 fgetcsv 的代码片段:

$file = fopen('myCSVFile.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
  print_r($line);
}
fclose($file);

在此代码中:

  • fopen():打开 CSV 文件进行读取,并将其分配给文件句柄。
  • 而循环:迭代文件的每一行,直到到达文件末尾,由 fgetcsv() 的 FALSE 返回确定。
  • fgetcsv():将当前行解析为元素数组,即然后打印。
  • fclose():关闭文件句柄。

处理嵌入逗号

要处理包含嵌入逗号的字段,我们需要确保 CSV 文件的格式正确,并使用适当的分隔符或引号。通过用双引号将字段括起来,fgetcsv 可以正确识别和分隔包含逗号的元素。

例如,以下 CSV 文件格式可以相应工作:

Scott L. Aranda,"123 Main Street, Bethesda, Maryland 20816",Single
Todd D. Smith,"987 Elm Street, Alexandria, Virginia 22301",Single
Edward M. Grass,"123 Main Street, Bethesda, Maryland 20816",Married
Aaron G. Frantz,"987 Elm Street, Alexandria, Virginia 22301",Married
Ryan V. Turner,"123 Main Street, Bethesda, Maryland 20816",Single

以上是如何在 PHP 中使用 fgetcsv 解析带有嵌入式逗号的 CSV 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn