Tfe

Ongi etorri tfe-ren webgunera...

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));
}