Skip to content

Instantly share code, notes, and snippets.

@SnowCait
Created April 13, 2019 21:00
Show Gist options
  • Select an option

  • Save SnowCait/072de90146899ccd528df40cfa644bf8 to your computer and use it in GitHub Desktop.

Select an option

Save SnowCait/072de90146899ccd528df40cfa644bf8 to your computer and use it in GitHub Desktop.
CSV to JSON convert on PHP
<?php
$path = '/path/to/example.csv';
$name = basename($path, '.csv');
// https://www.php.net/manual/ja/function.str-getcsv.php#114764
$csv = array_map('str_getcsv', file($path));
$header = array_shift($csv);
$data = array_map(function ($row) use ($header) {
return array_combine($header, array_map(function ($value) {
if ($value === 'TRUE') { return true; }
if ($value === 'FALSE') { return false; }
return $value;
}, $row));
}, $csv);
file_put_contents("/path/to/{$name}.json", json_encode($data));
@SnowCait
Copy link
Copy Markdown
Author

ファイル全体を読み込むので注意。巨大ファイルは fgetcsvgoodby/csvで。
TRUE, FALSE を特別扱いして bool 値に変換。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment