使用PHP将CSV转换为JSON

时间:2018-05-08 21:13:39

标签: php json csv sorting formatting

我有一个CSV文件,其内容如下所示:

id     model     name     size     sizeType
100    AAA       Nike Run  11      shoe_UK
101    AAA       Nike Run  9       shoe_UK
102    AAA       Nike Run  10      shoe_UK
103    BBB       Adidas X  11      shoe_UK

我想将各种尺寸的模型分组如下:

{
   "model": "AAA",
   "name": "Nike Run",
   "sizes": [
     {
       "id": "101",
       "size": "9"
     }
     {
       "id": "102",
       "size": "10"
     }
     {
       "id": "100"
       "size": "11"
     }
   ]
     "model": "BBB",
     "name": "Adidas X",
     "sizes": [
       {
         "id": "103",
         "size": "11"
       }
    }

到目前为止,我已经能够使用PHP读取CSV文件并将标题附加到每行数据。不幸的是,我不确定如何对重复的模型进行分组和排序。最终的输出将是JSON。

<?php
/* Map Rows and Loop Through Them */
$rows   = array_map('str_getcsv', file('products.csv'));
$header = array_shift($rows);
$csv    = array();
foreach($rows as $row) {
    $csv[] = array_combine($header, $row);
}
echo json_encode($csv, JSON_PRETTY_PRINT);
?>

我真的很感激任何帮助!

谢谢

0 个答案:

没有答案