extract data from csv and make a json
This commit is contained in:
parent
01e7a56dc2
commit
957cbea96a
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/php/cndp/cndp_calcul_temps_parole.csv" charset="ISO-8859-1" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="PhpProjectSharedConfiguration" php_language_level="7.4" />
|
||||
</project>
|
|
@ -0,0 +1,186 @@
|
|||
,,,,,,,,,,,,,marqueurs de graphique
|
||||
,,,,,,,,,,,,,
|
||||
,,À propos de ce fichier,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,"Cette feuille de calcul détaille la méthodologie et les données d’analyse du débat public sur les ERP2 à Penly de 2022 et 2023, par l’association Les Voix du Nucléaire.",,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,description,nom de la feuille,,,,,,,,
|
||||
,,,,page actuelle décrivant toute l’analyse,accueil,,,,,,,,
|
||||
,,,,,stats,,,,,,,,
|
||||
,,,,,résumé,,,,,,,,
|
||||
,,,,,data graphs,,,,,,,,
|
||||
,,,,,graphs,,,,,,,,
|
||||
,,,,,invités retapage,,,,,,,,
|
||||
,,,,,interventions,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,Choses à faire,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,statut,,description,date réalisé,,,,,,,,
|
||||
,,DONE,,qualifier dans le framacalc les parties citoyennes,03/03/2023,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,Résumé des interventions,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,RESUME
|
||||
,,,,,,,,,,,,,
|
||||
,,sur les ,50,groupes invités par la CNDP,,,,,,,,,
|
||||
,,représentant,"16,35449",heures de temps de parole,,,,,,,,,
|
||||
,,,"18,5898660109718","% était accordé à des organisations se positionnant contre le projet de nouveaux EPR,",,,,,,,,,
|
||||
,,,"71,4502459773025",% étaient neutres,,,,,,,,,
|
||||
,,,"9,95988801172576",% étaient en faveur du projet,,,,,,,,,
|
||||
,,soit,"1,86647339699864","fois plus de gens contre invités que pour, ",,,,,,,,,
|
||||
,,,,alors que selon l’étude de l’ifop de Septembre 2022 pour le JDD,,,,,,,,,
|
||||
,,,65,% des Français sont favorables ou « tout à fait favorables » à la construction de nouveaux réacteurs nucléaires en France dans les prochaines années,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,ENDRESUME
|
||||
,,,10000%,total de contrôle des pourcentages ci-dessus,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,Rapport selon l’étude ifop,,,,,,,,,,,____
|
||||
,,,,,,,,,,,,,
|
||||
,,https://www.ifop.com/wp-content/uploads/2022/09/119425-Rapport.pdf,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,Oct 2021,Sept 2022,,,,,,,,
|
||||
,,,,2021,2022,,,,,,,,
|
||||
,,tout à fait favorable,,19,25,,,,,,,,
|
||||
,,plutôt favorable,,32,40,,,,,,,,
|
||||
,,plutôt pas favorable,,29,23,,,,,,,,
|
||||
,,pas du tout favorable,,20,12,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,Données pour les graphiques,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,Graphique invités interventions,,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,indéterminé,somme,,,,,,headers
|
||||
,,,18,20,12,0,50,,,,,,values
|
||||
,,,,,,,,,,,,,####
|
||||
,,,,,,,,,,,,,
|
||||
,,Graphique invités temps de parole,,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,indéterminé,somme,,,,,,headers
|
||||
,,,"18,5898660109718%","71,4502459773025%","9,95988801172576%",0%,100%,,,,,,values
|
||||
,,,,,,,,,,,,,####
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,Temps de parole tout le monde,,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,indéterminé,somme,,,,,,headers
|
||||
,,,"240,816666666667","897,702733333333","112,166666666667","89,526","1340,21206666667",minutes,,,,,values
|
||||
,,,,,,,"22,3368677777778",heures,,,,,####
|
||||
,,,,,,,,,,,,,
|
||||
,,Temps de parole tout le monde en pourcentage,,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,indéterminé,somme,,,,,,headers
|
||||
,,,"17,7646417704476%","66,2220256378366%","8,27434695239204%","6,60418292950832%","98,8651972901846%",,,,,,values
|
||||
,,,,,,,,,,,,,####
|
||||
,,,,,,,,,,,,,
|
||||
,,Invités temps de parole + edf,,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,cndp,edf,somme,,,,,headers
|
||||
,,,"182,416666666667","701,1194","97,7333333333333","541,2194","2,03333333333333","1524,52213333333",,,,,values
|
||||
,,,contre,neutre,en faveur,cndp,edf,somme,,,,,####
|
||||
,,,"11,9654980848206%","45,9894536569973%","6,41075201182167%","35,5009211192386%","0,133375127121801%",100%,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,Associations invitées sur scène par la cndp,,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,cndp,edf,somme,,,,,headers
|
||||
,,,,,,,,,,,,,values
|
||||
,,,,,,,,,,,,,####
|
||||
,,,,,,,,,,,,,
|
||||
,,"Toute organisation présente sur scène, en excluant les évènements de lyon et lille",,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,cndp,edf,somme,,,,,headers
|
||||
,,,,,,,,,,,,,values
|
||||
,,,,,,,,,,,,,####
|
||||
,,,,,,,,,,,,,
|
||||
,,Assos prises de parole au total + public (sans exclure les évènements),,,,,,,,,,,____
|
||||
,,,contre,neutre,en faveur,cndp,edf,somme,,,,,headers
|
||||
,,,,,,,,,,,,,values
|
||||
,,,,,,,,,,,,,####
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,**********************************************************************,,,,,,,,,
|
||||
,,autres graphs possibles :,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,1,"associations invitées sur scène par la cndp, n’enlever que cndp, empiler dans un histogramme les parties invité sur scène et dans la salle",,,,,,,,,
|
||||
,,,2,toute orga sur scène en excluant les évènements de lyon et lille,,ce sur quoi la CNDP avait la main,,,,,,,
|
||||
,,,3,assos prises de parole au total + public (sans exclure les évènements),,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,"graph de tous les temps de parole par organisation, CNDP exclue, avec des couleurs de barre correspondant à la posture de l’organisation",,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,invité retapage de tag,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,intervenants,,,,,,,,,,,
|
||||
,,200,intervenants,,,,,,,,,,
|
||||
,,"884,9",minutes,,,,,,,,,,
|
||||
,,"14,7",heures,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,particuliers,,,,,,,,,,,
|
||||
,,contre,neutre,en faveur,,,,,,,,,
|
||||
,,50,49,31,,,,,,,,,
|
||||
,,"161,22","146,08","105,42",,,,,,,,,
|
||||
,,25%,"24,5%","15,5%",,,,,,,,,
|
||||
,,"18,22%","16,51%","11,91%",,,,,,,,,
|
||||
,,AP,NP,PP,,,,,,,,,
|
||||
,,anti et particulier,neutre et particulier,pour et invité,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,invités,,,,,,,,,,,
|
||||
,,contre,neutre,en faveur,,,,,,,,,
|
||||
,,18,44,7,,,,,,,,,
|
||||
,,"142,23","285,4","44,52",,,,,,,,,
|
||||
,,9%,22%,"3,5%",,,,,,,,,
|
||||
,,"16,07%","32,25%","5,03%",,,,,,,,,
|
||||
,,AI,NI,PI,,,,,,,,,
|
||||
,,anti et invité,neutre et invité,pour et invité,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,,,,,,,,,,,
|
||||
,,,invité,public,,,,,,,,,
|
||||
,,,70,130,,,,,,,,,
|
||||
,,min,"472,15","412,72",,,,,,,,,
|
||||
,,interventions %,35%,65%,,,,,,,,,
|
||||
,,temps parole %,"53,36%","46,64%",,,,,,,,,
|
||||
,,pour contre neutre,i,P,,,,,,,,,
|
||||
,,,invité,particulier,,,,,,,,,
|
|
Binary file not shown.
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo " prendre le fichier odt"
|
||||
cp "/home/tykayn/Nextcloud/projets/cndp débat penly/cndp_calcul_temps_parole.ods" .
|
||||
|
||||
echo " convertir en csv"
|
||||
libreoffice --headless --convert-to csv cndp_calcul_temps_parole.ods
|
||||
|
||||
echo " lignes du fichier csv"
|
||||
cat cndp_calcul_temps_parole.csv | wc -l
|
||||
|
||||
echo "faire un json"
|
||||
php extract_from_csv.php
|
|
@ -0,0 +1 @@
|
|||
{"example":" RESUME sur les 50 groupes invit\u00e9s par la CNDP repr\u00e9sentant 16,35449 heures de temps de parole 18,5898660109718 % \u00e9tait accord\u00e9 \u00e0 des organisations se positionnant contre le projet de nouveaux EPR, 71,4502459773025 % \u00e9taient neutres 9,95988801172576 % \u00e9taient en faveur du projet soit 1,86647339699864 fois plus de gens contre invit\u00e9s que pour, alors que selon l\u0092\u00e9tude de l\u0092ifop de Septembre 2022 pour le JDD 65 % des Fran\u00e7ais sont favorables ou \u00ab\u00a0tout \u00e0 fait favorables\u00a0\u00bb \u00e0 la construction de nouveaux r\u00e9acteurs nucl\u00e9aires en France dans les prochaines ann\u00e9es"}
|
|
@ -0,0 +1,83 @@
|
|||
<?php
|
||||
|
||||
echo "======== conversion du fichier csv de tableur vers des données json de graphique =======";
|
||||
#// parcourir le fichier csv
|
||||
$array_content_csv = array_map('str_getcsv', file('cndp_calcul_temps_parole.csv', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
|
||||
|
||||
$excluded_terms_for_graphs = ['minutes', 'somme', 'heures', $start_resume_data, $end_resume_data];
|
||||
$start_resume_data = "RESUME";
|
||||
$end_resume_data = "ENDRESUME";
|
||||
$resume_active = false;
|
||||
$resume_text = '';
|
||||
|
||||
$start_graph_data = "____";
|
||||
$headers_graph_data = "headers";
|
||||
$values_graph_data = "values";
|
||||
$end_graph_data = "####";
|
||||
|
||||
$json_graphs_data = ['graphs' => []];
|
||||
|
||||
$currentGraph = [
|
||||
"title" => ''
|
||||
];
|
||||
|
||||
foreach ($array_content_csv as $line) {
|
||||
|
||||
// fix encoding
|
||||
$line = mb_convert_encoding($line, 'utf-8', 'iso-8859-9');
|
||||
|
||||
if (in_array($start_graph_data, $line)) {
|
||||
$currentGraph['title'] = $line[2];
|
||||
} elseif (in_array($headers_graph_data, $line)) {
|
||||
foreach ($line as $cell) {
|
||||
if ($cell && $cell !== $headers_graph_data) {
|
||||
$currentGraph['headers'][] = $cell;
|
||||
}
|
||||
}
|
||||
} elseif (in_array($values_graph_data, $line)) {
|
||||
foreach ($line as $cell) {
|
||||
|
||||
if ($cell && $cell !== $values_graph_data && !in_array($cell, $excluded_terms_for_graphs)) {
|
||||
|
||||
$currentGraph['values'][] = round(str_replace(['%', ','], ['', '.'], $cell), 2);
|
||||
}
|
||||
}
|
||||
} elseif (in_array($end_graph_data, $line)) {
|
||||
$json_graphs_data['graphs'][] = $currentGraph;
|
||||
$currentGraph = [];
|
||||
}
|
||||
|
||||
if (in_array($start_resume_data, $line)) {
|
||||
$resume_active = true;
|
||||
} elseif (in_array($end_resume_data, $line)) {
|
||||
$resume_active = false;
|
||||
}
|
||||
|
||||
if ($resume_active) {
|
||||
foreach ($line as $cell) {
|
||||
if($cell && !in_array($cell,$excluded_terms_for_graphs)){
|
||||
|
||||
|
||||
$resume_text = $resume_text.' '.$cell;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
# // convertir en json pour faire un graphique
|
||||
// clean des lignes de texte
|
||||
|
||||
$resume_text = preg_replace('!\s+!', ' ', $resume_text);
|
||||
|
||||
$json_graphs_data['resume'] = str_replace(' ', ' ',$resume_text);
|
||||
echo " \n";
|
||||
var_dump($resume_text);
|
||||
|
||||
$file = "graphs_data_cndp.json";
|
||||
file_put_contents($file, json_encode($json_graphs_data));
|
||||
|
||||
$file = "resume.json";
|
||||
file_put_contents($file, json_encode(['resume' => $resume_text]));
|
||||
|
||||
//var_dump($json_graphs_data);
|
|
@ -0,0 +1 @@
|
|||
{"graphs":[{"title":"Graphique invit\u00e9s interventions","headers":["contre","neutre","en faveur","ind\u00e9termin\u00e9","somme"],"values":[18,20,12,50]},{"title":"Graphique invit\u00e9s temps de parole","headers":["contre","neutre","en faveur","ind\u00e9termin\u00e9","somme"],"values":[18.59,71.45,9.96,0,100]},{"title":"Temps de parole tout le monde","headers":["contre","neutre","en faveur","ind\u00e9termin\u00e9","somme"],"values":[240.82,897.7,112.17,89.53,1340.21]},{"title":"Temps de parole tout le monde en pourcentage","headers":["contre","neutre","en faveur","ind\u00e9termin\u00e9","somme"],"values":[17.76,66.22,8.27,6.6,98.87]},{"title":"Invit\u00e9s temps de parole + edf","headers":["contre","neutre","en faveur","cndp","edf","somme"],"values":[182.42,701.12,97.73,541.22,2.03,1524.52]},{"title":"Associations invit\u00e9es sur sc\u00e8ne par la cndp","headers":["contre","neutre","en faveur","cndp","edf","somme"]},{"title":"Toute organisation pr\u00e9sente sur sc\u00e8ne, en excluant les \u00e9v\u00e8nements de lyon et lille","headers":["contre","neutre","en faveur","cndp","edf","somme"]},{"title":"Assos prises de parole au total + public (sans exclure les \u00e9v\u00e8nements)","headers":["contre","neutre","en faveur","cndp","edf","somme"]}],"resume":" RESUME sur les 50 groupes invit\u00e9s par la CNDP repr\u00e9sentant 16,35449 heures de temps de parole 18,5898660109718 % \u00e9tait accord\u00e9 \u00e0 des organisations se positionnant contre le projet de nouveaux EPR, 71,4502459773025 % \u00e9taient neutres 9,95988801172576 % \u00e9taient en faveur du projet soit 1,86647339699864 fois plus de gens contre invit\u00e9s que pour, alors que selon l\u0092\u00e9tude de l\u0092ifop de Septembre 2022 pour le JDD 65 % des Fran\u00e7ais sont favorables ou \u00ab\u00a0tout \u00e0 fait favorables\u00a0\u00bb \u00e0 la construction de nouveaux r\u00e9acteurs nucl\u00e9aires en France dans les prochaines ann\u00e9es"}
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
$json = json_decode(file_get_contents('graphs_data_cndp.json'), true);
|
||||
?>
|
||||
<h1>Résumé du débat</h1>
|
||||
<div class="resume">
|
||||
|
||||
<?php
|
||||
echo $json['resume'];
|
||||
?>
|
||||
</div>
|
|
@ -0,0 +1 @@
|
|||
{"resume":" RESUME sur les 50 groupes invit\u00e9s par la CNDP repr\u00e9sentant 16,35449 heures de temps de parole 18,5898660109718 % \u00e9tait accord\u00e9 \u00e0 des organisations se positionnant contre le projet de nouveaux EPR, 71,4502459773025 % \u00e9taient neutres 9,95988801172576 % \u00e9taient en faveur du projet soit 1,86647339699864 fois plus de gens contre invit\u00e9s que pour, alors que selon l\u0092\u00e9tude de l\u0092ifop de Septembre 2022 pour le JDD 65 % des Fran\u00e7ais sont favorables ou \u00ab\u00a0tout \u00e0 fait favorables\u00a0\u00bb \u00e0 la construction de nouveaux r\u00e9acteurs nucl\u00e9aires en France dans les prochaines ann\u00e9es"}
|
Loading…
Reference in New Issue