我正在使用 PHP 并将 JSON 数据转换为 CSV 格式,然后读取相同的 CSV 文件以进行进一步处理。下面是我将 JSON 数据转换为 CSV 格式的代码。function LoadDataFromFile($file){$json = file_get_contents($file);$array = json_decode($json, true);$f = fopen('out.csv', 'w');$firstLineKeys = false;$keys = array();//first collect keysforeach($array as $line){ foreach($line as $key => $value){ if(!in_array($key, $keys)) $keys[] = $key; }}$keyString = implode(",", $keys);fwrite($f, "$keyString\n");foreach ($array as $line){ $outputArray = array(); foreach($keys as $key){ if(array_key_exists($key, $line)){ $outputArray[] = str_replace(',', '', $line[$key]);; } else { $outputArray[] = ""; } } $outputString = implode(",", $outputArray); fwrite($f, "$outputString\n");}fclose($f);}正如我们所看到的,我正在将数据写入“out.csv”文件,稍后我正在读取相同的 CSV 文件并将相同文件的值/全部内容逐行分配给 $array 变量,如下所示.$array = explode("\n", file_get_contents('out.csv'));现在,我想直接将 csv 内容的值分配给 $array 变量,而不使用中间的“out.csv”文件。想知道在将 JSON 数据转换为 CSV 格式时应该使用什么数据结构,以及“LoadDataFromFile”方法所需的可能代码更改?
1 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
如果您已经可以将 json 转换为 csv,那么只需将分配给字符串变量的输出字符串附加在一起,而不是将其写入文件。或者我误解了你想要什么?
代替:
fwrite($f, "$outputString\n");
你可以把:
$csv .= $outputString;
并完成它:
$array = explode("\n", $csv);
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消