geonames.org에서 CSV 파일을 처리하고 있으므로 인클로저없이 CSV 파일을 가져와야합니다.인클로저 문자가없는 경우 어떻게 fgetcsv를 사용할 수 있습니까?
현재 fgetcsv()은 $enclosure
매개 변수에 대해 단일 문자를 제공하고 그렇지 않은 경우 CSV 데이터를 처리하지 않아야합니다.
PHP 네이티브 기능을 사용하여 인클로저 문자가없는 CSV 데이터를 어떻게 검색합니까?
geonames.org에서 CSV 파일을 처리하고 있으므로 인클로저없이 CSV 파일을 가져와야합니다.인클로저 문자가없는 경우 어떻게 fgetcsv를 사용할 수 있습니까?
현재 fgetcsv()은 $enclosure
매개 변수에 대해 단일 문자를 제공하고 그렇지 않은 경우 CSV 데이터를 처리하지 않아야합니다.
PHP 네이티브 기능을 사용하여 인클로저 문자가없는 CSV 데이터를 어떻게 검색합니까?
언급 한 것처럼 가장 쉬운 방법은 fgetcsv()를 전혀 사용하지 않는 것입니다. 당신은 방금 CSV에서 각 행을 읽을 수있는 일반 fgets() 함수를 사용하여 다음 줄에 모든 다른 필드의 배열을 만들 수 explode()를 사용할 수
여기에 작은 예입니다 :
$handle = fopen("foo.csv", "r");
$i = 1; // for test output
while (($buffer = fgets($handle)) !== false) {
$fields = explode(";", $buffer); // assuming that fields are separated with semicolons
$j = 1;
// Test output
echo "Line $i: ";
// This is just for show, you can use a regular for loop instead
foreach ($fields as $field) {
echo "Field $j: $field";
$j++;
}
echo "\n";
$i++;
}
fclose($handle);
이에 데이터를 직접 분석하고 결과가 나올 수있다 csv 데이터에서 세미콜론이 사용되는 조작 된 문자열입니다. 그것은 대부분의 상황을위한 실행 가능한 솔루션입니다. – Josiah
: fgetcsv에서 제공하는 탈출 기능을 고려하지 않는 라인
// Read TSV line using 'backspace' as the enclosure character
fgetcsv($stream, 0, "\t", chr(8));
함수 이름 "char"의 오타는 "chr"이어야합니다. –
그냥 읽고 선 다음 원하는 형식 – MKroeders