迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

PHP 如何解析 CSV 文件

作者:迹忆客 最近更新:2023/03/22 浏览次数:

CSV 是一种文件类型。它表示逗号分隔的值 - Comma Separated Values 的首字母缩写。通常在其他软件(例如 Excel)中使用。这样可以将数据以表格格式保存,扩展名为 .csv

要使用 PHP 解析 CSV 文件,可以使用 PHP 内置的 fopen()fgetcsv()fclose() 函数的组合来完成。

例:

/*
//sampleFile.csv
dog, cat, rat, fish
horse, cow, carabao
bird, rabbit, chicken
*/
$ctr = 1;
if (($file = fopen("sampleFile.csv", "r")) !== FALSE) {
  while (($record = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $total = count($record);
    echo "<p> $total fields in line $row: <br /></p>\n";
    $ctr++;
    for ($x = 0; $x < $ctr; $x++) {
        echo $record[$x] . "<br />\n";
    }
  }
  fclose($file);
}
//output:
/*
4 fields in line 1:

dog
cat
3 fields in line 2:

horse
cow
carabao
3 fields in line 3:

bird
rabbit
chicken
*/

上面的示例使用以下函数解析了 sampleFile.csv 的内容:

fopen(Filename, Mode, Include_path, context)

此函数接受 URL 或文件,将文件名指定的命名资源绑定到流。

参数:

  • Filename(必需)-此参数指定要打开的文件或 URL
  • Mode(必需)-这表示你需要访问文件的类型。
  • Include_path (可选)-将此参数设置为 1 时,也会在 include_path 中寻找文件。
  • context(可选)-这指定文件句柄的内容。这是一组选项,可以根据流的行为进行更新。
fgetcsv(File, Length, Separator, Enclosure, Escape)

此函数负责从打开的 CSV 文件中解析行。

参数:

  • File(必需)-此参数指定打开的文件。
  • Length(在 PHP 5 和更低版本上是可选的,但在 PHP 5.1 和更高版本上是必需的)-此参数是该行的最大长度。该长度必须大于文件中的最长行。如果参数没有指定,则长度不受限制,但会使得解析速度较慢。
  • Separator(可选)-此参数是字段分隔符,默认值是逗号 ,
  • Enclosure(可选)-此参数是字段 Enclosure,默认值为"
  • Escape(可选)-此参数是转义符,默认值为\\

fclose($File)

此函数关闭打开的文件指针。

参数:

  • File(必需)-指定要关闭的文件。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何从 Pandas 的日期时间列中提取月份和年份

发布时间:2024/04/23 浏览次数:160 分类:Python

我们可以分别使用 dt.year()和 dt.month()方法从 Datetime 列中提取出年和蛾。我们还可以使用 pandas.DatetimeIndex.month 以及 pandas.DatetimeIndex.year 和 strftime()方法提取年份和月份。

如何获取 Pandas DataFrame 的行数

发布时间:2024/04/23 浏览次数:71 分类:Python

本教程介绍如何通过使用 shape,len()来获取 Pandas DataFrame 的行数,以及有多少行元素满足条件。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便