0

次のような「問題のある」CSVファイルを解析する必要があります。

some text here
other line of text, here
header1, header2, header3
value1, value2, value3  // data row #1
value1, value2, value3  // data row #2
(empty line)
(empty line)
some other text here

もちろん、私は実際に貴重なデータを含む行(value1、value2、value3)にのみ興味があります。私はURLを文字列にフェッチして呼び出しstr_getcsv(デフォルトのパラメーター)よりも試みましたが、取得しているのは操作が難しい配列です:

array
  0 => string 'some text here ' (length=50)
  1 => string ' other text here
other text here
header1 ' (length=50)
  2 => string 'header2' (length=13)
  3 => string 'header3' (length=14)
  4 => string 'header4' (length=14)
  5 => string '
value1' (length=2)
  6 => string 'value2' (length=1)
  7 => string 'value3' (length=1)
  8 => string 'value4
4

1 に答える 1

1

その構造が修正されている場合は、行の配列を作成してから、4行目と5行目を使用できます。

これ$fileは、解析するコンテンツを含む変数です。

$lines = array();
foreach(preg_split("/(\r?\n)/", $file) as $line){
    $lines[] = $line;
}
$data_row1 = explode(',', $lines[3]);
$data_row1 = explode(',', $lines[4]);
于 2011-10-09T14:33:20.570 に答える