1

完了するべき興味深い作品があります

CSVに変換したスプレッドシートがたくさんあります。これらのスプレッドシートは、設定された列数のテンプレートとして開始されました。

残念ながら、時間の経過とともに、人々は列を追加して削除してきました。

次のコードを適応させて、各CSVから特定の列名を選択する方法はありますか?

foreach($fileinfos as $pathname => $fileinfo) {
    if (!$fileinfo->isFile()) continue;
      if(substr($pathname,-3) == 'csv'){

            $file = fopen($pathname, "r"); 
            while ($line = fgetcsv($file,0,'^','¬')){
               echo substr($pathname,56) .'   '.$numcols.'<br>';          
             }
            fclose($file);
      }
}

アップデート:

これが私の受け入れられた列の配列です

Array
(
    [0] => Date Raised
    [1] => QA phase
    [2] => Item ID
    [3] => Screen Number
    [4] => Reason
    [5] => Matches originals?
    [6] => Issue / Comments
    [7] => Raise with Client?
    [8] => Raised By
    [9] => Status
    [10] => TP/AS Status Initials
    [11] => TP/AS Status  date
    [12] => TP/AS Status Comment
    [13] => Retested by
    [14] => Retested date
    [15] => Retested Comment
)

これが私の利用可能な配列です

Array
(
    [0] => Date Raised
    [1] => QA phase
    [2] => Item ID
    [3] => Screen Number
    [4] => exam 
    [5] => Reason
    [6] => Matches originals?
    [7] => Issue / Comments
    [8] => Raise with Client?
    [9] => Raised By
    [10] => Status
    [11] => TP/AS Status Initials
    [12] => TP/AS Status  date
    [13] => TP/AS Status Comment
    [14] => dd Comments
    [15] => PM Comments
    [16] => Retested by
    [17] => Retested date
    [18] => Retested Comment
)

配列はdosnt作業を組み合わせます。

4

2 に答える 2

3
$file = fopen($pathname, 'r');
$headers = fgetcsv($file, 0, '^', '¬');

while ($line = fgetcsv($file, 0, '^', '¬')) {
    $line = array_combine($headers, $line);

    var_dump($line);
    // access specific fields using $line['columnName']
}
于 2012-12-07T14:29:31.817 に答える
2

私はこのようなことを試してみます:

$csv = array();
$columnnames = fgetcsv($fp, 1024);
while (true == ($columns = fgetcsv($fp, 1024))) {
    $row = array_combine($columnnames, $columns);
    $csv[] = $row;
}

このようなCSVファイルで

id,name,email
1,benjamin,benjamin@example.com
2,rob,rob@example.com

$csv変数には次のようなものが含まれている必要があります。

1 => array(
    'id' => 1,
    'name' => 'benjamin',
    'email' => 'benjamin@example.com'
)
...
于 2012-12-07T14:31:36.730 に答える