내 문제는 : PHP에서 fgetcsv를 사용하여 구문 분석하기 전에 csv 파일에서 특정 열을 자동으로 삭제해야합니다. 만약 내가 정말 열 필요가 없어 그 열을 삭제하지 않으면, 나는 메모리 부족 오류가 발생합니다. 감사!csv 파일에서 열을 자동으로 삭제
0
A
답변
3
명령 줄 옵션 일지 모르겠지만 그렇다면 cut
명령으로 하루를 절약 할 수 있습니다. 메모리가 부족한 경우 실제로는 PHP로로드하기 전에 cut
으로 csv를 처리 할 수 있습니다.
my.csv
a;b;c;d;
0;1;2;3;
0;1;2;3;
0;1;2;3;
0;1;2;3;
0;1;2;3;
0;1;2;3;
0;1;2;3;
0;1;2;3;
0;1;2;3;
명령 : 세 번째 열을
cut -d ";" -f1-2,4- my.csv
출력을 제거
a;b;d;
0;1;3;
0;1;3;
0;1;3;
0;1;3;
0;1;3;
0;1;3;
0;1;3;
0;1;3;
0;1;3;
1
간단한 PHP 스크립트를 사용하면 필드를 설정 해제하여 출력 파일에서 제거 할 수 있습니다.
이 예는 $inFile
에서 두번째 필드를 제거하고 $outFile
<?php
$read = fopen($inFile, 'r');
$write = fopen($outFile, 'w');
if ($write && $read) {
while (($data = fgetcsv($read)) !== FALSE) {
unset($data[1]);
fputcsv($write, $data);
}
}
fclose($write);
fclose($read);
에 결과를 저장하면 비록 메모리에 문제가있는 경우, 더 나은 대안은로 데이터를 이동하는 스크립트를 작성할 수 있습니다 데이터베이스가 있으면 필요한 데이터와 필드 만 쿼리 할 수 있습니다.
관련 문제
- 1. 선택한 열을 CSV 파일에서 SQL Server 테이블로 가져 오기
- 2. CSV 파일에서 텍스트 추출
- 3. csv 파일에서 데이터 복사
- 4. Csv 파일에서 세 개의 열을 병합하여 PHP로 단일 열을 제공하는 방법
- 5. csv/excel 파일에서 날짜를 올바르게 읽는 방법
- 6. postgres, 파일에서 열을 자름
- 7. 정규식을 사용하여 csv 파일의 열을 제외합니다
- 8. 자동으로 임시 파일 삭제
- 9. 삭제 이메일이 자동으로
- 10. Postgresql : occasion missing columns가있는 csv 파일에서 복사
- 11. csv 파일에 나열된 파일 삭제
- 12. 바이너리 파일에서 문자 삭제
- 13. 여러 파일에서 행 삭제
- 14. C의 파일에서 문자 삭제
- 15. awk 또는 명령 행에서 파일에서 열 삭제
- 16. 파이썬의 CSV 파일에서 데이터 추출
- 17. CSV 파일에서 직접 통계 계산
- 18. 단일 파일/CSV 파일에서 제외
- 19. CSV 파일에서 다채로운 표 생성하기
- 20. CSV 데이터베이스 파일에서 UITableView를로드 하시겠습니까?
- 21. Excel 또는 CSV 파일에서 가져 오기
- 22. CakePHP에서 "삭제 된"열을 사용하십시오.
- 23. classic asp Excel 파일의 행과 열을 삭제
- 24. 파일에서 CSV 헤더의 존재 여부 자동 검색
- 25. CSV 파일에서 많은 데이터 프레임을 병합합니다.
- 26. Altova MapForce의 CSV 파일에서 필드 이름 캡처하기
- 27. VB를 사용하여 CSV 파일에서 데이터 읽기
- 28. 파이썬으로 csv 파일에서 valuse 검색 및 비교
- 29. C 언어로 파일에서 라인 삭제
- 30. Python : 파일에서 특정 문자열 삭제