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;
} 

?>

php读取csv文件类,布布扣,bubuko.com

时间: 2024-10-05 05:08:04

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

Spring Batch示例: 读取CSV文件并写入MySQL数据库

Spring Batch示例: 读取CSV文件并写入MySQL数据库 GitHub版本: https://github.com/kimmking/SpringBatchReferenceCN/blob/master/01_introduction/Spring_Batch_MySQL.md 原文链接: Reading and writing CVS files with Spring Batch and MySQL 原文作者: Steven Haines - 技术架构师 下载本教程的源代码: S

Spring Batch使用示例: 读取CSV文件并写入MySQL数据库

GitHub版本: https://github.com/kimmking/SpringBatchReferenceCN/blob/master/01_introduction/Spring_Batch_MySQL.md ------------ 编写批处理程序来处理GB级别数据量无疑是种海啸般难以面对的任务,但我们可以用Spring Batch将其拆解为小块小块的(chunk). Spring Batch 是Spring框架的一个模块,专门设计来对各种类型的文件进行批量处理. 本文先讲解一个简

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

Dynamic 365中读取CSV文件

Dynamic 365开发中对于读取CSV文件与2012略有不同.Dynamic 365中,对于文件的处理是先上传,后下载的过程.需要通过FileUpload control 和Upload strategy class ,FileUploadTemporaryStorageStrategy类来实现对于文件的读取和下载. 以下是一个简单的例子可供参考: Dilaog窗体,读取文件上传到本地服务器中,以URL方式可以查看 Public Object dialog() { DialogGroup d

sparkR读取csv文件

sparkR读取csv文件 The general method for creating SparkDataFrames from data sources is read.df. This method takes in the path for the file to load and the type of data source, and the currently active SparkSession will be used automatically. SparkR suppo

读取csv文件,写入oracle数据库

/* * @(#)DataParse.java 2014年4月28日 */ package com.yihaodian.sa.doData; import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.sql.Connection;import java.

用程序读取CSV文件的方法

CSV全称 Comma Separated values,是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件.用Excel或者Numbers都可以导出CSV格式的数据. CSV文件的规则 0 开头是不留空,以行为单位.1 可含或不含列名,含列名则居文件第一行. 2 一行数据不垮行,无空行. 3 以半角符号,作分隔符,列为空也要表达其存在. 4 列内容如存在,,则用""包含起来. 5 列内容如存在""则用""""包

PHP读取csv文件的内容

一次性读取csv文件内所有行的数据 <?php  $file = fopen('windows_2011_s.csv','r');  while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 //print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可 $goods_list[] = $data;  } //print_r($goods_list); /* foreach ($goods_list as $arr){     

Linux下读取Ini文件类

Linux下读取Ini文件类 最近项目上有需要读取Ini文件 所谓Ini文件也就是文本文档 并且以 //注释1 /*注释2 [Section] Key1=aaa Key2=bbb 这种形式存在的文档 自己编写了一个类  比较使用 简单 可以跨平台读写INI文件 头文件Ini.h #include <map> #include <string> using namespace std; #define CONFIGLEN 256 enum INI_RES { INI_SUCCESS,