1

2,000 行、約 25 列のやや大きな CSV ファイルがあります。セルを変数に変換する方法を知る必要があります。可能であれば。IEはセルA3をphp変数に変換し、ユーザーがボタンをクリックしたときにエコーアウトできます。私が作っている一種のジェネレーター。

インターネット上で実際に役立つものは見つかりませんでした。

4

2 に答える 2

1

PHPにはこのための関数があります:fgetcsv。これを使用して、ファイルリソースの次の行を返します(その後、ポインターを進めます)。各要素がCSVのフィールドである配列を返します。

次のように使用します。

$csv = array();

if (FALSE !== $handle = fopen("example.csv", "r"))
{

  while (FALSE !== $row = fgetcsv($handle))
  {
    $csv[] = $row;
  }

}

次に、CSVの最初の行に列ヘッダーが含まれていると仮定して、次のような操作を実行して、数値配列を連想配列に変換できます。

$new_csv = array();

foreach ($csv as $row)
{

  $new_row = array();

  for ($i = 0, $n = count($csv[0]); $i < $n; ++$i)
  {
    $new_row[$csv[0][$i]] = $row[$i]; 
  }

  $new_csv[] = $new_row;

}

次に、最初の行の「名前」列(「ゼロ番目」の行は列ヘッダー)にアクセスする場合は、を呼び出します$new_csv[1]['name']。または、ヘッダー行がなく、「名前」列が最初の列であることがわかっている場合は、を呼び出します$csv[0][0]

于 2013-02-10T21:05:14.820 に答える
0

fgetcsvメソッドとメソッドを見てstr_getcsvください (例についてはリンクを参照してください)。

于 2013-02-10T20:56:12.837 に答える