我有这样的csv文件:
data,IF,VVS1,VVS2
D,23,17,15
E,17,15,14
我需要的是将此CSV转换为JSON,但看起来像这样:
{“D”:{“IF”:“23”,“VVS1”:“17”,“VVS2”:“15”},“E”:{“IF”:“17”,“VVS1” :“15”,“VVS2”:“14”}}
任何帮助?
答案 0 :(得分:2)
也许可以帮助你,但我建议添加错误处理。
<?php
$file = fopen('test.csv', 'r');
$header = fgetcsv($file);
array_shift($header);
$data = array();
while ($row = fgetcsv($file))
{
$key = array_shift($row);
$data[$key] = array_combine($header, $row);
}
echo json_encode($data);
fclose($file);
答案 1 :(得分:1)
/ *假设,csv文件是mydata.scv * /
<?php
$mydata = array();
if($file = fopen("mydata.csv","r")){
$csvheaders = fgetcsv($file);
while(($row = fgetcsv($file)) !== FALSE){
$arr = array();
for($i=1; $i<count($csvheaders); $i++){
$arr[$csvheaders[$i]] = $row[$i];
}
$mydata[$row[0]] = $arr;
}
fclose($file);
// encode $mydata array into json to get result in the required format
$mydatainformat = json_encode($mydata);
echo $mydatainformat; // This is your output.
}
?>