一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP按行讀取、處理較大CSV文件的代碼實例

PHP按行讀取、處理較大CSV文件的代碼實例

2020-06-22 14:25PHP開發網 PHP教程

這篇文章主要介紹了PHP按行讀取、處理較大CSV文件的代碼實例,需要的朋友可以參考下

對于數百萬條數據量的CSV文件,文件大小可能達到數百M,如果簡單讀取的話很可能出現超時或者卡死的現象。

為了成功將CSV文件里的數據導入數據庫,分批處理是非常必要的。

下面這個函數是讀取CSV文件中指定的某幾行數據:

復制代碼 代碼如下:

/**
 * csv_get_lines 讀取CSV文件中的某幾行數據
 * @param $csvfile csv文件路徑
 * @param $lines 讀取行數
 * @param $offset 起始行數
 * @return array
 * */
function csv_get_lines($csvfile, $lines, $offset = 0) {
    if(!$fp = fopen($csvfile, 'r')) {
     return false;
    }
    $i = $j = 0;
 while (false !== ($line = fgets($fp))) {
  if($i++ < $offset) {
   continue;
  }
  break;
 }
 $data = array();
 while(($j++ < $lines) && !feof($fp)) {
  $data[] = fgetcsv($fp);
 }
 fclose($fp);
    return $data;
}


調用方法:

復制代碼 代碼如下:

$data = csv_get_lines('path/bigfile.csv', 10, 2000000);
print_r($data);

 

函數主要采用行定位的思路,通過跳過起始行數來實現文件指針定位。

上述函數對500M以內的文件進行過測試,運行通暢,對于更大的文件未做測試,請斟酌使用或加以改進。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女扒开腿让男生捅 | 国产日韩欧美综合一区二区三区 | 狠狠插入 | 欧美添下面视频免费观看 | 国内老司机精品视频在线播出 | 四虎永久视频 | 久久艹影院| 精品无人乱码一区二区三区 | 国产在视频线在精品 | 1313午夜精品久久午夜片 | 办公室恋情在线 | 青青草国产青春综合久久 | 亚洲国产三级在线观看 | 91人人在线 | 秋霞理论一级在线观看手机版 | 亚洲精品资源 | 天天操天天射天天爽 | 日本老妇人乱视频 | 日韩美女强理论片 | 成人网欧美亚洲影视图片 | 国产3344视频在线观看免费 | 果冻传媒在线视频观看免费 | 99久久免费精品视频 | 国产性视频| 免费网站直接进入 | 国产成人在线免费视频 | 无遮挡免费h肉动漫在线观看 | 男同桌扒开女同桌胸罩喝奶 | chinese老太grandma| 我们日本在线观看免费动漫下载 | 亚洲欧美久久婷婷爱综合一区天堂 | 热久久亚洲 | 苍井空色欲迷墙 | 欧美成人在线影院 | 女人pp被扒开流水了 | 女子监狱第二季在线观看免费完整版 | 日剧整部剧护妻狂魔免费观看全集 | 撕开老师的丝袜白丝扒开粉嫩的小 | 国产福利一区二区在线精品 | 调教全程肉动画片在线观看 | 免费在线观看日本 |