更多课程 选择中心

PHP培训
美国上市教育机构

400-111-8989

PHP培训

php教程之如何使用PHP处理CSV文件?

  • 发布:PHP培训
  • 来源:PHP教程
  • 时间:2019-02-14 11:37

在PHP中我们可以使用fgetcsv()函数来解析CSV文件,它可以自动解析给定资源中的CSV字段。下面本篇文章就来给大家具体介绍一下使用PHP处理CSV文件的方法,希望对大家有所帮助。【视频教程推荐:PHP教程】

php教程

什么是CSV文件?

CSV文件基本上只是一个符合特定格式的文本文件,一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件中。在CSV文件中,所有值都以逗号分隔(因此,首字母缩略词背后的含义:逗号分隔值),而各行由换行符分隔。

总结:

CSV文件由逗号、数据和换行符组成;换行符分隔行和逗号分隔值/列。

CSV文件的一个示例,将其命名为example.csv:

Ted,USA,21

Lisa,UK,23

Michael,USA,20

Louise,Ireland,30

可以看出:每一行都用逗号分隔开;第一列是人的姓名,第二列是人的国家,最后一列是人的年龄;每个人都被换行符分隔。

如何使用PHP处理CSV文件?

php解析CSV文件可以使用fgetcsv()函数;该函数从打开的文件中解析一行,校验 CSV 字段。

语法如下:

1fgetcsv("filename.csv", 1000, ",");

filename.csv:CSV文件的名称。

1000:表示最长线的长度。

“,”:表示可选的分隔符参数。默认当然是逗号(,)。

为了使用fgetcsv()函数,我们需要先用fopen()函数打开文件进行读取,然后用fclose()函数关闭文件来结束代码。在两者之间,我们使用一个循环,分别解析CSV每一行。

下面就来简单介绍一下如何处理:

1、用fopen()函数打开文件并进行阅读:

1$h = fopen("filename.csv", "r");

使用“r”模式打开文件并进行阅读;变量$h会从文件中保存数据的处理。

2、使用fgetcsv()函数逐行读取CSV文件的数据,并将每一行数据单独保存到名为$ data的数组中。

1$data = fgetcsv($h, 1000, ",");

为了读取所有行,我们需要使用while循环:

while (($data = fgetcsv($h, 1000, ",")) !== FALSE)

{

// 读取数据

}

3、需要关闭该文件

1fclose($h);

结合上面的3个步骤:

<?php

// 打开文件并阅读

if (($h = fopen("example.csv", "r")) !== FALSE)

{

// 将每行数据都转换为本地$data变量并储存

while (($data = fgetcsv($h, 1000, ",")) !== FALSE)

{

//输出每行数据

var_dump($data);

}

// 关闭文件

fclose($h);

}

?>

输出:


代码示例:将CSV文件转换为PHP多维数组

以下代码生成一个多维数组($ the_big_array),其每个项目都由一个从CSV文件中的单行转换而来的数组组成。

<?php

$filename = 'example.csv';

// 用于保存所有数据的多维(嵌套)数组

$the_big_array = [];

// 打开文件并阅读

if (($h = fopen("{$filename}", "r")) !== FALSE)

{

// 文件中的每一行数据都被转换为我们调用的单个数组$data

// 数组的每个元素以逗号分隔

while (($data = fgetcsv($h, 1000, ",")) !== FALSE)

{

// 每个单独的数组都被存入到嵌套的数组中

$the_big_array[] = $data;

}

// 关闭文件

fclose($h);

}

// 以可读格式显示代码

echo "<pre>";

var_dump($the_big_array);

echo "</pre>";

?>

输出:


以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注达内php官网相关教程栏目!!!

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:PHP开发中如何对字符串进行大小写处理
下一篇:php开发中natsort函数怎么用

PHP教程之如何用PHP在web浏览器中打开PDF文件?

如何将嵌套的PHP数组转换为CSS规则?

php开发中实现简单跳转提示的示例代码

php教程之php多线程是什么意思

选择城市和中心
黑龙江省

吉林省

河北省

贵州省

云南省

广西省

海南省