文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php百万数据如何写入csv

2023-07-04 21:54

关注

这篇文章主要介绍了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”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“php百万数据如何写入csv”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯