为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不使用 csv 文件的情况下将 JSON 数据即时转换为 CSV 格式

如何在不使用 csv 文件的情况下将 JSON 数据即时转换为 CSV 格式

PHP
炎炎设计 2021-06-28 12:55:03
我正在使用 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);


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信