一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

對(duì)于數(shù)百萬(wàn)條數(shù)據(jù)量的CSV文件,文件大小可能達(dá)到數(shù)百M(fèi),如果簡(jiǎn)單讀取的話(huà)很可能出現(xiàn)超時(shí)或者卡死的現(xiàn)象。

為了成功將CSV文件里的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù),分批處理是非常必要的。

下面這個(gè)函數(shù)是讀取CSV文件中指定的某幾行數(shù)據(jù):
復(fù)制代碼 代碼如下:
/**
 * csv_get_lines 讀取CSV文件中的某幾行數(shù)據(jù)
 * @param $csvfile csv文件路徑
 * @param $lines 讀取行數(shù)
 * @param $offset 起始行數(shù)
 * @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;
}
調(diào)用方法:
復(fù)制代碼 代碼如下:
$data = csv_get_lines('path/bigfile.csv', 10, 2000000);
print_r($data);

函數(shù)主要采用行定位的思路,通過(guò)跳過(guò)起始行數(shù)來(lái)實(shí)現(xiàn)文件指針定位。

上述函數(shù)對(duì)500M以?xún)?nèi)的文件進(jìn)行過(guò)測(cè)試,運(yùn)行通暢,對(duì)于更大的文件未做測(cè)試,請(qǐng)斟酌使用或加以改進(jìn)。

php技術(shù)PHP按行讀取、處理較大CSV文件的代碼實(shí)例,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产资源在线视频 | 日本一区二区高清免费不卡 | 久久不雅视频 | 成人免费视频69 | 色呦呦网 | 欧美日韩另类在线观看视频 | 国产特黄一级毛片特黄 | 欧美另类特大 | 成人怡红院视频在线观看 | 最新地址四虎www4hutv | 亚洲一区二区三区播放在线 | 男人女人无遮掩免费视频 | 中国一级大黄大片 | 美女激情网 | 成年网站未满十八禁毛片免费 | 在线视频www| 色久综合在线 | 成人福利在线看 | 成人免费看视频 | 一区二区不卡视频 | 在线观看视频一区二区三区 | 国产zzzwww在线观看 | 大香伊人久久精品一区二区 | 亚洲精品国产成人 | 国产精品合集一区二区三区 | 久久香蕉综合精品国产 | 香蕉人人超人人超免费看视频 | 日本一区二区视频免费播放 | 火辣福利在线观看 | 久久国| 国产成人+综合亚洲+天堂 | 精品国产系列 | 91精品国产综合久久福利 | 狠狠综合久久久综合 | 99精品国产福利在线观看 | 中文字幕亚洲一区二区va在线 | 成人三级视频在线观看 | 最新国产精品亚洲二区 | 最新99国产成人精品视频免费 | 国内xxxx乱子另类 | 日本色www |