php 逐行读取csv数据入库

原创 2018年04月16日 14:56:21

需求:把从Execel文件中导出的csv数据,导入数据库

解决方案如下:

 // 判断文件是否上传成功
        if (empty($_FILES['file1']) && $_FILES['file1']['error'] != 0) {
            return 'Error file1';
        } else {
            $filename = $_FILES['file1']['tmp_name'];
        }

        // 组装数据
        $fields = ['name', 'age', 'telephone'];
        $fields_cnt = count($fields);
        
        // 用二进制打开文件,避免编码问题
        $fp_in = @fopen($filename, "rb");
        while (!feof($fp_in)) {
            $line = fgets($fp_in);
            if ($line) {
                $arr = explode(',', $line);
                // 待插入数据格式化
                $fmt = array_map(function ($v) {return ($v == 0) ? $v : ((int) $v);}, $arr);
                $data[] = array_combine($fields, array_splice($fmt, 1, $fields_cnt));
            }
        }
        fclose($fp_in);

        // TP数据批量入库
        $q = M("excel_1")->addAll($data);

小结:

文件操作函数系列:fopen,feof,fgets,fclose 分别打开,寻末,取行,关闭

数据格式化的意义:作为A数据库的导出数据,会有整形+“ 的数据,格式化可以自动 去掉"符号

array_combine键值合并数组。

php从爬虫爬取的txt文件按行读取并写入保存到excel,csv中

需求:采集携程网酒店信息步骤:    使用火车头编写采集规则并保存到txt文件 编写php脚本读取txt文件并按照规则保存到csv代码:<?php /** * 读取txt文件,存入cs...
  • u010737354
  • u010737354
  • 2018-03-09 11:42:26
  • 40

PHP读取csv文件的内容详解

一次性读取csv文件内所有行的数据
  • qq_34341290
  • qq_34341290
  • 2016-11-29 17:14:05
  • 2422

php 读取 csv 文件的两种方法

  • chunxiaqiudong5
  • chunxiaqiudong5
  • 2016-03-09 23:08:11
  • 1406

PHP读取CSV大文件导入数据库

PHP如何对CSV大文件进行读取并导入数据库? 对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象。 为了成功将CSV文件里的数据导入数据库,分批...
  • zhaoxuejie
  • zhaoxuejie
  • 2015-11-09 16:07:31
  • 2734

PHP快速读取CSV大文件

CSV大文件的读取已经在前面讲述过了,但是如何快速完整的操作大文件仍然还存在一些问题。 1、如何快速获取CSV大文件的总行数? 办法一:直接获取文件内容,使用换行符进行拆分得出总行数,这种...
  • ebw123
  • ebw123
  • 2015-06-26 16:32:58
  • 6364

php读取csv文件中的每一列

  • 2015年09月28日 16:56
  • 1KB
  • 下载

php读出csv中的每一列

if(is_uploaded_file($_FILES['upload']['tmp_name'])){                  $tmp_name=$_FILES['upload']["t...
  • qq604598861
  • qq604598861
  • 2015-10-10 17:05:31
  • 1183

php逐行读取文件数据

php 逐行读取文件 explode 分割字符串
  • aa3115386
  • aa3115386
  • 2016-03-14 20:36:34
  • 1603

php 将csv文件内容导入数据库时值为空的解决

背景:和第三方服务商协调检测数据的时候,从他们后台导出了存放数据的csv文件。于是,需要将该文件内的数据导入到自己的mysql库中,写了一段代码如下:// 将csv文件数据插入到mysql数据库中 i...
  • cdy102688
  • cdy102688
  • 2014-04-03 09:47:10
  • 1151

python:读取CSV文件的相关技巧

最近在做爬取网站数据的工作,需要将爬到的数据保存为.csv文件。接下来,我将分别介绍使用pandas模块和使用csv模块读写csv文件的方法。 1.使用pandas写csv文件 (1)只写入一列 #s...
  • u013250416
  • u013250416
  • 2016-11-16 20:05:43
  • 1955
收藏助手
不良信息举报
您举报文章:php 逐行读取csv数据入库
举报原因:
原因补充:

(最多只允许输入30个字)