中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php百萬數據如何寫入csv

發布時間:2022-12-30 17:22:04 來源:億速云 閱讀:171 作者:iii 欄目:編程語言

這篇文章主要介紹了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”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟源县| 新沂市| 邢台市| 新建县| 峨眉山市| 黄梅县| 丰县| 扎鲁特旗| 那曲县| 海宁市| 扶风县| 常宁市| 玉屏| 衡水市| 唐河县| 江永县| 镇远县| 前郭尔| 常熟市| 南陵县| 许昌市| 六枝特区| 宜宾县| 雅安市| 西青区| 故城县| 郴州市| 申扎县| 冷水江市| 曲阜市| 鸡泽县| 库车县| 博湖县| 甘孜| 喜德县| 公主岭市| 高尔夫| 柯坪县| 华容县| 建宁县| 白玉县|