php阅读csv文件类

php处理csv文件类:

http://www.php100.com/cover/php/540.html

<?php 

define("CSV_Start",    0);
define("CSV_Quoted",   1);
define("CSV_Quoted2",  2);
define("CSV_Unquoted", 3); 

function readCSV($fh, $len, $delimiter = ',', $enclosure = '"') {
    $data = Array();
    $fildNr = 0;
    $state = CSV_Start; 

    $data[0] = ""; 

    do {
        $line = fgets($fh, $len);
        for ($ix = 0; $ix < strlen($line); $ix++) {
            if ($line[$ix] == $delimiter) {
                if ($state != CSV_Quoted) {
                    $fildNr++;
                    $data[$fildNr] = "";
                    $state = CSV_Start;
                } else {
                    $data[$fildNr] .= $line[$ix];
                }
            } elseif ($line[$ix] == $enclosure) {
                if ($state == CSV_Start) {
                    $state = CSV_Quoted;
                } elseif ($state == CSV_Quoted) {
                    $state = CSV_Quoted2;
                } elseif ($state == CSV_Quoted2) {
                    $data[$fildNr] .= $line[$ix];
                    $state = CSV_Quoted;
                } else {
                    $data[$fildNr] .= $line[$ix];
                }
            } else {
                $data[$fildNr] .= $line[$ix];
                if ($state == CSV_Quoted2) {
                    echo "error";
                } elseif ($state == CSV_Start) {
                    $state = CSV_Unquoted;
                }
            }
        }
    } while ($state == CSV_Quoted); 

    return $data;
} 

?>

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-10-29 14:20:51

php阅读csv文件类的相关文章

php读取csv文件类

php处理csv文件类: http://www.php100.com/cover/php/540.html <?php define("CSV_Start", 0); define("CSV_Quoted", 1); define("CSV_Quoted2", 2); define("CSV_Unquoted", 3); function readCSV($fh, $len, $delimiter = ',', $enc

C#操作CSV文件类实例

本文实例讲述了C#操作CSV文件类.分享给大家供大家参考.具体分析如下: 这个C#类用于转换DataTable为CSV文件.CSV文件转换成DataTable,如果需要进行CSV和DataTable之间进行转换,使用这个类非常合适. using System.Data; using System.IO; namespace DotNet.Utilities { /// <summary> /// CSV文件转换类 /// </summary> public static class

用C#写的读写CSV文件

用C#写的读取CSV文件的源代码 CSV文件的格子中包含逗号,引号,换行等,都能轻松读取,而且可以把数据转化成DATATABLE格式 using System; using System.Text; using System.Collections; using System.IO; using System.Data; using System.Text.RegularExpressions; using System.Diagnostics; namespace CsvLib { #regi

一个封装好的CSV文件操作C#类代码

using System.Data; using System.IO; namespace DotNet.Utilities { /// <summary> /// CSV文件转换类 /// </summary> public static class CsvHelper { /// <summary> /// 导出报表为Csv /// </summary> /// <param name="dt">DataTable<

CSV文件读取类

最近项目中,经常需要读取Csv文件.基本步骤是: (1)按行读取 (2)然后将一行数据按逗号,分割为字符串数组 (3)将各列字符串转换成相应类型的数据 ,如int double类型 写了一个简单的Csv文件读取类,方便使用,可以按列名或列索引读取数据.将字符串转换成数字变量使用的是stringstream类. 如下: #ifndef CSV_READER_H_ #define CSV_READER_H_ #include <vector> #include <map> #inclu

自制工具:CSV代码生成器:自动生成CSV文件对应的C++实体类和字段类型解析代码

本文乃Siliphen原创,转载请注明出处:http://blog.csdn.net/stevenkylelee 更有开发效率地使用CSV文件 为了更有效率地使用CSV文件,我制作了一个工具:Code代码生成器. 这个工具可以对CSV文件进行简单地配置,自动生成这个CSV文件对应的C++数据结构和字段类型解析函数代码. 工程项目只要加入这些自动生成的代码,就可以更方便地使用来自CSV配置文件的数据. 用工具自动生代码,可以省去了手工编写.手工维护那些大量的.无聊繁琐的类型定义.数据转换的代码的过

支持各种特殊字符的 CSV 解析类 (.net 实现)(C#读写CSV文件)

CSV是一种十分简洁的数据结构,在DOTNET平台实际使用中发现微软官方并没有提供默认的方法,而网上好多例子发现实现并不严谨甚至一些含有明显错误,所以后面自己实现了一个读写工具类,这里发出来希望方便后面朋友(难免还是会有考虑不到的地方,可随时邮件联系) 使用该工具可对csv文件进行读写(甚至不用去了解CSV的各种规范) 直接以List<List<string>> 形式输出,方便进一步处理 因为工具类需要读取文件资源读取完毕后如果确认不会再次读取,建议立即Dispose,以释放文件句

CSV文件转换帮助类

CSV是逗号分隔值格式的文件,其文件以纯文本形式存储表格数据(数字和文本).CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符.在C#中有时候需要读取和写入Csv文件,特此封装了一个工具类CsvHelper.特此说一句,C#将数据导出到CSV文件的速度比较快,有时候导出Excel文件很慢的时候可以选择先导出.csv文件,而后再本地用Excel软件打开. CsvHelper类主要是利用C#操作Csv文件,主要包含2个

CSVFileUtil 读取写入CSV文件简单工具类

参考github大神源码 总结一下最简单的工具类记录一下 /** * @description CSV文件读取和输出 工具类.<br/> * @author michael * @date 2019/05/16 * @version Copyright (c) 2019, [email protected] All Rights Reserved. */ public class CSVFileUtil { private static final Logger LOGGER = Logger