加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com.cn/)- 云通信、区块链、物联平台、操作系统、高性能计算!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中如何读取CSV内容并存入一个数组中

发布时间:2022-08-10 12:04:45 所属栏目:PHP教程 来源:互联网
导读:在这篇文章中,我将向你展示如何使用PHP的内置函数来读取和打印一个CSV文件的内容,并将其转换成一个数组。我们将使用fopen() 和fgetcsv() 读取CSV文件的内容,然后使用array_map() 和str_getcsv() 函数将其转换成数组。 简介 以逗号分隔的数值(CSV)格式存
  在这篇文章中,我将向你展示如何使用PHP的内置函数来读取和打印一个CSV文件的内容,并将其转换成一个数组。我们将使用fopen() 和fgetcsv() 读取CSV文件的内容,然后使用array_map() 和str_getcsv() 函数将其转换成数组。
 
  简介
  以逗号分隔的数值(CSV)格式存储数据文件并不是什么新鲜事。事实上,由于其简单性,它是最常见的数据存储方式之一--CSV文件易于读写,并且可以在基本的文本编辑器中打开。这种类型的文件以纯文本的形式存储表格数据。
 
  这样一个文件的例子是这样的。
 
 
 
 
  Elias,40,nurse
 
  Rehema,15,programmer
 
  Beatrice,23,doctor
 
  这个数据代表了三个人的信息,有对应于他们名字、年龄和工作的列。虽然这是一种简单的数据格式,但它的阅读和消费是很棘手的。
 
  因此,在这篇文章中,我将教你如何使用PHP的原生函数(如fopen() )打开CSV文件,如何使用fgetcsv() 方法读取这个文件的内容,最后是如何使用array_map() 函数将这个CSV文件转换成一个数组。
 
  当然,我们可以使用一些第三方软件包来实现这些,但PHP内置的本地函数非常好用。
 
  前提条件
  要继续学习这篇文章,你需要以下条件。
 
  在你的机器上安装了 PHP 5.6 或更高的版本
  一个PHP的开发环境--XAMPP或WampServer都很好用
  对PHP概念的一些基本了解
  我们开始吧!
 
  将CSV文件显示为一个表
  在文章的这一部分,我们将读取一个简单的CSV文件,其中包含几个由逗号分隔的词。开始时,我们将使用上面的简单文件,以后我们可以继续使用一个随机的大文件。当然,你可以使用Microsoft Excel或文本编辑器创建自己的文件,并以CSV为扩展名保存。
 
  要读取该文件,我们首先要在其保存的文件夹或位置找到它。为了方便访问,你可能想把它保存在你的程序文件的同一个文件夹里。然后我们可以使用fopen() 函数来读取该文件。
 
  之后,fgetcsv() 函数从打开文件的解析行中检查CSV字段。这个函数需要三个参数:从fopen() 返回的文件句柄,要读取的行的最大长度,以及特殊的分隔符--我们称之为 "分隔符"。这可以是一个逗号、一个分号或任何其他分隔符。
 
  现在让我们来实际操作一下。
 
  在可以用WAMP或XAMPP提供服务的地方创建一个名为csvtable.php的文件,并复制以下代码。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  <?php
 
   
 
  $file_to_read = fopen('data.csv', 'r');
 
   
 
  if($file_to_read !== FALSE){
 
       
 
      echo "<table>n";
 
      while(($data = fgetcsv($file_to_read, 100, ',')) !== FALSE){
 
          echo "<tr>";
 
          for($i = 0; $i < count($data); $i++) {
 
              echo "<td>".$data[$i]."</td>";
 
          }
 
          echo "</tr>n";
 
      }
 
      echo "</table>n";
 
   
 
      fclose($file_to_read);
 
  }
 
   
 
  ?>
 
  在这个文件中,我们首先打开data.csv文件,它应该包含一些逗号分隔的数据。fopen 将在与csvtable.php相同的文件夹中寻找这个文件。'r' 参数告诉fopen ,以只读方式打开该文件。
 
  如果文件被成功打开,fopen 将返回一个文件句柄,可用于其他文件的读取操作。否则,它将返回FALSE 。因此,在继续读取文件之前,我们检查文件句柄是否为FALSE 。
 
  然后,fgetcsv() 文件从打开的文件中获取CSV字段,一次一行。我们告诉fgetcsv ,每行最多读取100个字符,并使用逗号分隔符作为分隔符。然后,在文件中找到的字被循环浏览,并打印到一个HTML表格中。
 
  最后一个函数是fclose() ,它关闭了打开的文件。这将释放打开的文件所使用的内存,并允许其他进程访问该文件。
 
  

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读