이 글은 주로 PHP를 사용하여 대용량 CSV 파일을 데이터베이스로 읽는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
PHP는 어떻게 대용량 CSV 파일을 읽고 데이터베이스로 가져오나요?
수백만 개의 데이터 항목이 포함된 CSV 파일의 경우 파일 크기가 수백 MB에 달할 수 있습니다. 단순히 읽는 경우 시간이 초과되거나 정지될 수 있습니다.
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 이내의 파일에서 테스트되었으며 더 큰 파일에서는 테스트되지 않았습니다.
PHP에서 대용량 CSV 파일을 읽고 데이터베이스로 가져오는 이 예제는 모두 편집자가 공유한 내용이므로 참고가 되기를 바랍니다.
php mysqldatabase클래스를 캡슐화하는 방법
phpphp가 mongodb를 캡슐화하는 방법 데이터베이스
위 내용은 대용량 CSV 파일을 읽고 PHP를 사용하여 데이터베이스로 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!