// librairie de gestion des répertoires et fichiers const fs = require("fs"); const path = require("path"); // librairie de gestion des arguments de la ligne de commande var argv = require("optimist").argv; // librairie de gestion du hanzi const opencc = require('node-opencc'); // librairie de gestion des fichiers csv var csv = require("comma-separated-values"); // données de stockage var fichierCSV = "Wohok-table.csv"; // en entrée, on donne le nom du fichier à traiter sans le répertoire var repertoireInitial = "./"; var argument = argv._[0]; fichierDonnées = path.join(repertoireInitial,argument); // DEBUG // console.log(fichierDonnées); // données de stockage var fichierCSV = "X-" + argument; // utilitaires var tab = "\t"; var endLine = "\n"; // Variables fichier des fichiers csv, json et xml fichierJson = path.join(repertoireInitial, argument + ".json"); // on crée le fichier csv var moncsv = fs.createWriteStream(fichierCSV); var fichierATraiter = fs.readFileSync(fichierDonnées, "UTF-8"); // DEBUG // console.log(fichierATraiter); var monjson = new csv(fichierATraiter, { header: ['hanzi', 'pinyin', 'grammar', 'translation'] }).parse(); // la ligne CSV qu'on va écrire dans le fichier CSV var ligneCSV = ""; var sauve = ""; monjson.forEach(function(enregistrement){ // DEBUG // console.log(enregistrement); ligneCSV = ""; if (enregistrement.grammar === "undefined") { // console.log(enregistrement.hanzi, "**",enregistrement.pinyin); enregistrement.grammar = enregistrement.hanzi; enregistrement.translation = enregistrement.pinyin; enregistrement.hanzi = sauve.hanzi; enregistrement.pinyin = sauve.pinyin; // console.log("nouveau: ", enregistrement.hanzi, "**",enregistrement.pinyin); } sauve = enregistrement; ligneCSV = enregistrement.hanzi + tab + enregistrement.pinyin + tab + enregistrement.grammar + tab +enregistrement.translation + endLine; // DEBUG console.log(ligneCSV); // Ecriture de la ligne CSV moncsv.write(ligneCSV); }) // DEBUG // console.log(monjson); // Fermeture des fichiers json, xml et csv // on ferme le fichier CSV moncsv.end();