PHPでCSVデータの扱い

CSVからデータを取り出して連想配列に入れる方法のメモ。

以前pythonで作った時はsplitを使ったんだけど、phpで作ろうとして調べたらsplitは非推奨になっていた。
代わりにpreg_splitを使うらしいが、正規表現を使わないならexplodeを使うらしい。

$csvdがCSVファイル(区切りは半角スペース、囲みが””)として
$data = fgetcsv($csvd,1024,’ ‘,'”‘)
としてデータを取り出す。ここで半角スペースで区切ったデータが取り出せる(例えばA B Cみたいに)ので

$data2=(explode(‘ ‘,$data));

とすると。配列にそれぞれのデータを入れることができる。
次に$data2の1番目と3番目のデータを連想配列に入れるには
$skeyにキーを配列で入れておいて

$data3[$skey[$j]]=array($data2[0],$data2[2]);

で成功。取り出す時は
キーが$skey[$i]の1番目のデータを取り出す時は

print $data3[$skey[$i]][0];

みたいにすればOKだった。

コメントを残す