返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >聊聊php百万数据怎么写入csv
  • 181
分享到

聊聊php百万数据怎么写入csv

phpcsv 2023-05-14 19:05:24 181人浏览 八月长安
摘要

本篇文章给大家带来了关于PHP+csv的相关知识,其中主要介绍了php百万数据怎么通过脚本文件写入csv的相关内容,下面一起来看看怎么实现的吧,希望对大家有帮助。需求:百万数据写入 csv。框架:N 多年前老框架,百度都搜不到了,所以写法趋

本篇文章给大家带来了关于PHP+csv的相关知识,其中主要介绍了php百万数据怎么通过脚本文件写入csv的相关内容,下面一起来看看怎么实现的吧,希望对大家有帮助。

聊聊php百万数据怎么写入csv

需求:

百万数据写入 csv。

框架:

N 多年前老框架,百度都搜不到了,所以写法趋近原生

分析:

数据量过大,不能用浏览器请求写入 csv 下载,所以写个脚本调取

伪代码:

//xxx - 根据自己项目替换
//调取脚本文件
exec(xxx);

//脚本文件
//设置执行时间和内存
set_time_limit(0);
ini_set('memory_limit', '128M');
//循环获取
$id = 0;
$data = 'xxx'.'\n';//表头
while(true){
    //sql
    $list = xxx WHERE id > $id ORDER BY id ASC LIMIT 10000; //每次取1w防止数据库压力大,根据sql来,我这个有联表,
    if(empty($list)){
        break;
    }
    foreach($list as $row){
        $data .= '"' . $row['xxx'] . '",';
        $data .= "\n";
        $id = $row['id'];//更新最大id
    }
    //追加写入csv
    file_put_contents('xxx', mb_convert_encoding($data, 'gbk'),FILE_APPEND);
    unset($data);//基础不好不确定初始化能不能清内存就先unset了
    $data = '';//初始化
}

本质上就是分批写入,刚开始试验的时候是打算不把 file_put_contents 写在循环里的,后来发现数据量大的时候,几十万数据 $data 内存就超了另外如果超百万数据的话需要做分文件导出,excel 不支持打开超过 1048576 行,理论上就是加个 $all_count 参数计当前查询的总数,超过百万再加新文件。

如果有更好的方法,或者代码优化部分欢迎讨论。

以上就是聊聊php百万数据怎么写入csv的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 聊聊php百万数据怎么写入csv

本文链接: https://lsjlt.com/news/203489.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 聊聊php百万数据怎么写入csv
    本篇文章给大家带来了关于PHP+csv的相关知识,其中主要介绍了php百万数据怎么通过脚本文件写入csv的相关内容,下面一起来看看怎么实现的吧,希望对大家有帮助。需求:百万数据写入 csv。框架:N 多年前老框架,百度都搜不到了,所以写法趋...
    99+
    2023-05-14
    php csv
  • php百万数据如何写入csv
    这篇文章主要介绍了php百万数据如何写入csv的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php百万数据如何写入csv文章都会有所收获,下面我们一起来看看吧。需求:百万数据写入 csv。框架:N 多年前老框架...
    99+
    2023-07-04
  • plsql怎么导出百万数据到csv
    在PL/SQL中,可以使用`UTL_FILE`包来导出数据到CSV文件。以下是一个示例代码,用于将百万行数据从表中导出到CSV文件:...
    99+
    2023-08-31
    plsql
  • 聊聊怎么用node写入读取文件内容
    以上就是聊聊怎么用node写入读取文件内容的详细内容,更多请关注编程网其它相关文章!...
    99+
    2023-05-14
    nodejs​ node
  • java怎么对百万条数据做读写
    在Java中,对于百万条数据的读写操作,可以使用以下方法:1. 使用缓冲流:通过使用`BufferedReader`和`Buffer...
    99+
    2024-02-29
    java
  • 聊聊怎么用php查询数据库中最新的一条数据
    在编写 PHP 应用程序时,使用 SQL 查询是非常常见的操作。通常,我们需要在数据库中找到最新添加的数据,并将其显示在页面上。在本文中,我们将讨论如何使用 PHP 查询数据库中最新的一条数据。查询数据库中的最新一条数据通常需要以下步骤:连...
    99+
    2023-05-14
  • 聊聊php怎么改变数组的value值
    PHP作为一门被广泛应用于web开发的脚本语言,在处理数据时经常需要使用数组。数组是一种存储一系列数据的结构,而数组的某个元素则是这种数据中的一个单独部分。当我们需要对数组中的某些元素的值进行修改时,就需要使用PHP提供的相应函数进行操作。...
    99+
    2023-05-14
  • Python大批量写入数据(百万级别)的方法
    目录背景方案代码方案二方案一总结背景 现有一个百万行数据的csv格式文件,需要在两分钟之内存入数据库。 方案 方案一:多线程+协程+异步MySql方案二:多线程+MySql批量插入 ...
    99+
    2023-08-08
    python批量写入文件 python处理大量数据 python批量处理数据
  • pandas怎么将数据写入csv文件
    在使用Pandas将数据写入CSV文件时,可以使用`to_csv()`方法。以下是具体的步骤:1. 导入Pandas库:```pyt...
    99+
    2023-09-15
    pandas
  • 聊聊怎么用php去掉数组中的元素
    PHP中的数组是一种强大的数据结构,它能够方便地存储和操作多个值。然而,在实际开发中,我们经常需要从数组中移除某些元素,这就需要用到PHP的array去掉操作。一般来说,PHP的array去掉操作可以采用两种方式:一是通过循环遍历数组并移除...
    99+
    2023-05-14
  • mongodb怎么取出百万数据
    在MongoDB中取出大量数据有多种方法,以下是一些常用的方法:1. 使用find()方法获取所有数据:使用find()方法可以获取...
    99+
    2023-09-04
    mongodb
  • 实战学习:聊聊Node.js怎么操作数据库
    连接数据库const mysql = require('mysql') const db = mysql.createPool({ host: 'localhost', user: 'root...
    99+
    2023-05-14
    nodejs node
  • 聊聊php怎么将字符串强制转为整数
    在PHP中,经常会需要将字符串转换为整数。当你接收到用户的输入或从数据库中获取数据时,它们通常是以字符串的形式出现的。在处理这些数据时,我们有时需要将它们转换为整数。本篇文章将介绍PHP将字符串强制转换为整数的方法。方法1:使用intval...
    99+
    2023-05-14
    php 类型转换
  • 聊聊node怎么操作MySQL数据库(增删改查)
    设置字段完成之后,点击上图左上角所示的保存按钮,就会进一步弹出对话框,让填写表的名字。我们填入user编辑字段添加数据一条内容输入完成后,按下tab,会自动进入下一条记录的输入学习使用SQL语句结构化查询语言(Structured Quer...
    99+
    2023-05-14
    数据库 MySQL Node.js
  • Plsql怎么导出百万级数据
    在PL/SQL中如果需要导出大量数据,可以使用以下方法之一: 使用PL/SQL Developer等工具进行数据导出:通过PL/...
    99+
    2024-04-09
    Plsql
  • python怎么创建csv文件并写入数据
    要在Python中创建和写入CSV文件,可以使用csv模块。下面是一个示例代码: import csv # 定义要写入CSV文件的...
    99+
    2024-02-29
    python
  • python百万并发数据怎么处理
    在处理百万并发数据时,可以考虑使用以下方法: 使用多线程/多进程:通过创建多个线程或进程来处理并发数据请求,可以提高处理速度。可...
    99+
    2023-10-27
    python
  • oracle怎么批量更新百万数据
    在Oracle数据库中,可以使用批量更新语句来更新大量数据。以下是一种常用的方法: 创建一个临时表,将需要更新的数据插入到该临时表...
    99+
    2024-03-01
    oracle
  • oracle百万数据查询怎么优化
    使用合适的索引:在查询大量数据时,使用合适的索引可以大大提高查询性能。确保数据表上的列经常被查询的列上创建索引,以加速查询速度。 ...
    99+
    2024-04-09
    oracle
  • oracle怎么一次添加百万数据
    要一次性添加大量数据到Oracle数据库中,可以使用以下方法: 使用SQLLoader工具:SQLLoader是Oracle提供...
    99+
    2024-04-27
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作