用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

PHP操作csv文件代码详解

时间:2015-01-23  来源:西部数据  作者:西部数据

在php中读取操作csv文件的方法有很多,最简单的可以直接使用fopen像打开txt文件打开,然后利用explode分开就成了,生成也一样直接使用a,b,c,e保存成csv格式就KO,但php还提供了fputcsv函数对csv文件操作,下面我来介绍介绍.

1.生成CVS,fputcsv()将行格式化为 CSV 并写入文件指针,代码如下:

  1. <?php 
  2. $list = array ( 
  3.     'aaa,bbb,ccc,dddd'
  4.     '11,22,33'
  5.     '"php","java"' 
  6. ); 
  7. $fp = fopen('file.csv''w'); 
  8. foreach ($list as $line) { 
  9.     fputcsv($fpexplode(','$line)); 
  10. fclose($fp); 
  11. ?> 

小提示,如果你csv中有中文我们需要注意一下中文问题,否则中文乱码就会和你在一起玩哦,下面给了一个实例解决中文乱码,代码如下:

  1. <?php 
  2. /** by www.phpfensi.com */ 
  3. $row = 1; 
  4. $handle = fopen("file.csv","r"); 
  5. //fgetcsv() 解析读入的行并找出 CSV格式的字段然后返回一个包含这些字段的数组。  
  6. while ($data = fgetcsv($handle, 1000, ",")) { 
  7. //开源代码phpfensi.com 
  8.     $num = count($data); 
  9.     echo "<p> $num fields in line $row: <br>n"
  10.     $row++; 
  11.     for ($c=0; $c < $num$c++) { 
  12.   //注意中文乱码问题 
  13.   $data[$c]=iconv("gbk""utf-8//IGNORE",$data[$c]);   
  14.         echo $data[$c] . "<br>n"
  15.     } 
  16. fclose($handle); 
  17. ?> 

读取csv文件的某一行数据,代码如下:

  1. <?php 
  2. function get_file_line( $file_name$line ){ 
  3. $n = 0; 
  4. $handle = fopen($file_name,'r'); 
  5. if ($handle) { 
  6. while (!feof($handle)) { 
  7. ++$n
  8. $out = fgets($handle, 4096); 
  9. if($line==$nbreak
  10. fclose($handle); 
  11. if$line==$nreturn $out
  12. return false; 
  13. echo get_file_line("windows_2011_s.csv", 10); 
  14. ?> 

读取csv文件制定行数,行区间,代码如下:

  1. <?php 
  2. function get_file_line( $file_name$line_star$line_end){ 
  3. $n = 0; 
  4. $handle = fopen($file_name,"r"); 
  5. if ($handle) { 
  6. while (!feof($handle)) { 
  7. ++$n
  8. $out = fgets($handle, 4096); 
  9. if($line_star <= $n){ 
  10. $ling[] = $out
  11. if ($line_end == $nbreak
  12. fclose($handle); 
  13. if$line_end==$nreturn $ling
  14. return false; 
  15. $aa = get_file_line("windows_2011_s.csv", 11, 20); //从第11行到第20行 
  16. foreach ($aa as $bb){ 
  17. echo $bb."<br>"
  18. ?>
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门