PHP读取CSV文件的数据,插入进数据库!

技术分享 2018年09月16日 阅读 922 豆浆大叔

在项目中偶尔会遇到处理.csv文件里面的数据,可能更多地我们会选择使用php的处理类,那样你会觉得很麻烦的,一堆的类文件,调用方法你也会感麻烦,所以今天没事写一个处理.csv文件类的数据,拿出来组装成数组,后面就可以随意的操作了,例如存储到数据库等等,就很方便处理了。

public function to_csv(){
    header("Content-type: text/html; charset=utf-8");//设置输出编码 
    ini_set('memory_limit', '1024M');//设置内存
    set_time_limit(0); //设置超时
    $dir = dirname(__FILE__).'/';  //获取当前绝对路径
    //获取中文对应的国家
    $file = fopen($dir . 'test1.csv', 'r');  //打开csv文件
    $i = 0;
    $data_list = [];
    while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容
        if ($i == 0) { //去掉第一行(一般第一行是标题)
            $i++;
            continue;
        }
        //下面是获取每一行的数据  你也可以不使用下面的直接  $data_list[$i] = $data
        $data_list[$i]['name'] = $data[0];
        $data_list[$i]['sex'] = $data[1];
        $data_list[$i]['class'] = $data[2];
        $data_list[$i]['score'] = $data[3];
        $i++;
    }
    var_dump($data_list);
}
//结果显示
array (size=3)
    1 => 
        array (size=4)
        'name' => string '小明' (length=6)
        'sex' => string '0' (length=1)
        'class' => string '12' (length=2)
        'score' => string '56' (length=2)
    2 => 
        array (size=4)
        'name' => string '小红' (length=6)
        'sex' => string '1' (length=1)
        'class' => string '00' (length=2)
        'score' => string '98' (length=2)
    3 => 
        array (size=4)
        'name' => string '小康' (length=6)
        'sex' => string '0' (length=1)
        'class' => string '01' (length=2)
        'score' => string '87' (length=6)

工作上的需要解决csv文件的数据处理,可以不用很麻烦就能处理csv的数据。大家后面看见的都是很久之前记录的代码块了,有点时间了。

豆浆大叔 豆浆大叔 资深PHP工程师@某一线大厂

写了 264486 字,被 3 人关注,共写了 75 篇笔记

(已更名,豆浆大叔)有理想的码农,不应该只探究人性的懒惰面,而是积极的去探索人生道路上的荆棘坎坷,努力提升自己完善自己!
推荐文章:
  • 大数据领域Flink 与 Spark之间的区别?

    学而不思则罔 思而不学则殆,2020年砥砺前行!前言大家都知道已经2020年了,也到了新的一年。作为一个主营电商的公司,年底都会很忙。所以最近的更新进度也停滞不前,本来准备大侃PHP设计模式的,但是因...

    豆浆大叔 3个月前 3 吐槽 264 围观 技术分享
  • php如何实现钩子与实践案例

    前言学而不思则罔,思而不学则殆。30则而立,头顶正则脱光!昨天晚上,突然想起了PHP中的钩子如何使用?说实话,像dz,wordpress,TP,CI框架都已经集成了Hook钩子,尽管我不怎么使用框架以...

    豆浆大叔 3个月前 0 吐槽 101 围观 技术分享
  • Linux无法显示ip地址的解决办法

    今天想趁着有时间,用虚拟机调试一下lua脚本和其他的功能,结果启动虚拟机使用xshell连接不上,然后使用终端查看IP地址无法查看到,记录一下排查错误流程。查看IP地址使用ip addr 或者 ifc...

    豆浆大叔 4个月前 0 吐槽 155 围观 技术分享
  • 高并发性能指标QPS,TPS,RT,并发数,吞吐量是指什么?

    QPS,每秒查询QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系...

    豆浆大叔 4个月前 0 吐槽 367 围观 技术分享
  • 分享一些PHP常用的小算法

    下面分享一些最常见的算法,用PHP如何实现,拓展下知识面。冒泡排序function bubble_sort($arr) { $n=count($arr); for($i=0;$i<$n-1;$...

    我也庸俗 4个月前 0 吐槽 134 围观 技术分享
表情
  • [:821l1001:]
  • [:821l1002:]
  • [:821l1003:]
  • [:821l1004:]
  • [:821l1005:]
  • [:821l1006:]
  • [:821l1007:]
  • [:821l1008:]
  • [:821l1009:]
  • [:821l1010:]
  • [:821l1011:]
  • [:821l1012:]
  • [:821l1013:]
  • [:821l1014:]
  • [:821l1015:]
  • [:821l1016:]
  • [:821l1017:]
  • [:821l1018:]
  • [:821l1019:]
  • [:821l1020:]
  • [:821l1021:]
  • [:821l1022:]
  • [:821l1023:]
  • [:821l1024:]
  • [:821l1025:]
  • [:821l1026:]
  • [:821l1027:]
  • [:821l1028:]
  • [:821l1029:]
  • [:821l1030:]
  • [:821l1031:]
  • [:821l1032:]
  • [:821l1033:]
  • [:821l1034:]
  • [:821l1035:]
  • [:821l1036:]
  • [:821l1037:]
  • [:821l1038:]
  • [:821l1039:]
  • [:821l1040:]
  • [:821l1041:]
  • [:821l1042:]
  • [:821l1043:]
  • [:821l1044:]
  • [:821l1045:]
  • [:821l1046:]
  • [:821l1047:]
  • [:821l1048:]
  • [:821l1049:]
  • [:anger:]
  • [:applause:]
  • [:awkward:]
  • [:brokenheart:]
  • [:clown:]
  • [:confused:]
  • [:decline:]
  • [:diggingmouth:]
  • [:eyebrows:]
  • [:grinning:]
  • [:haha:]
  • [:ill:]
  • [:kiss:]
  • [:lascivious:]
  • [:laugh:]
  • [:love:]
  • [:lovely:]
  • [:rhinorrhea:]
  • [:smile:]
  • [:solid:]
  • [:strong:]
  • [:sweat:]
  • [:tearcollapse:]
  • [:tongue:]
  • [:uncomfortable:]
  • [:weak:]
  • [:worry:]
Tips:支持Markdown语法

0 个评论

抢座沙发~~~~
资深PHP工程师 @ 某一线大厂

登录

第三方账号登录:
GitHub
微信
微博