Blog/jokoak_euskaraz/shadow_tactics/csv_to_json_vo.php
(Deskargatu)
<?php
if (!function_exists('str_putcsv')) {
function str_putcsv($input, $delimiter = ',', $enclosure = '"') {
$fp = fopen('php://temp', 'r+b');
fputcsv($fp, $input, $delimiter, $enclosure);
rewind($fp);
$data = rtrim(stream_get_contents($fp), "\n");
fclose($fp);
return $data;
}
}
$keys=[];
if (($handle = fopen("voOK.csv", "r")) !== FALSE){
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$key="x".$data[0].".".
$data[1].".".
$data[2].".".
$data[3].".".
$data[4].".";
$keys[$key] = $data[12];
}
}
$jsons= glob("jsons/vo_*.json");
foreach($jsons as $json)
{
$data = file_get_contents($json);
$decoded = json_decode($data,true);
file_put_contents("/tmp/test.csv", $decoded["m_Script"]);
$new_csv=[];
if (($handle = fopen("/tmp/test.csv", "r")) !== FALSE){
while (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) {
array_unshift($data, $decoded["m_Name"]);
$key="x".basename($json).".".
$data[0].".".
@$data[1].".".
@$data[2].".".
@$data[3].".";
if(isset($keys[$key]))
{
$data[10] = $keys[$key];
$data[11] = $keys[$key];
}
array_shift($data);
$new_csv[] = str_putcsv($data,"\t");
}
}
$decoded["m_Script"] = join("\r\n", $new_csv);
$new_file_json = "eus/".basename($json);
file_put_contents($new_file_json, json_encode($decoded, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
}