extract data from csv and make a json

This commit is contained in:
Tykayn 2023-03-06 12:10:56 +01:00 committed by tykayn
parent 01e7a56dc2
commit 957cbea96a
12 changed files with 306 additions and 0 deletions

6
.idea/encodings.xml Normal file
View File

@ -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>

4
.idea/php.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PhpProjectSharedConfiguration" php_language_level="7.4" />
</project>

View File

@ -0,0 +1,186 @@
,,,,,,,,,,,,,marqueurs de graphique
,,,,,,,,,,,,,
,,À propos de ce fichier,,,,,,,,,,,
,,,,,,,,,,,,,
,,,,"Cette feuille de calcul détaille la méthodologie et les données danalyse du débat public sur les ERP2 à Penly de 2022 et 2023, par lassociation Les Voix du Nucléaire.",,,,,,,,,
,,,,,,,,,,,,,
,,,,description,nom de la feuille,,,,,,,,
,,,,page actuelle décrivant toute lanalyse,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 lifop 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, nenlever 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 lorganisation",,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,,,,,,
,,,,,,,,,,,,,
,,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,,,,,,,,,
1 marqueurs de graphique
2
3 À propos de ce fichier
4
5 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.
6
7 description nom de la feuille
8 page actuelle décrivant toute l’analyse accueil
9 stats
10 résumé
11 data graphs
12 graphs
13 invités retapage
14 interventions
15
16
17
18 Choses à faire
19
20 statut description date réalisé
21 DONE qualifier dans le framacalc les parties citoyennes 03/03/2023
22
23
24
25
26
27
28
29
30
31
32 Résumé des interventions
33 RESUME
34
35 sur les 50 groupes invités par la CNDP
36 représentant 16,35449 heures de temps de parole
37 18,5898660109718 % était accordé à des organisations se positionnant contre le projet de nouveaux EPR,
38 71,4502459773025 % étaient neutres
39 9,95988801172576 % étaient en faveur du projet
40 soit 1,86647339699864 fois plus de gens contre invités que pour,
41 alors que selon l’étude de l’ifop de Septembre 2022 pour le JDD
42 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
43
44 ENDRESUME
45 10000% total de contrôle des pourcentages ci-dessus
46
47
48
49 Rapport selon l’étude ifop ____
50
51 https://www.ifop.com/wp-content/uploads/2022/09/119425-Rapport.pdf
52
53
54 Oct 2021 Sept 2022
55 2021 2022
56 tout à fait favorable 19 25
57 plutôt favorable 32 40
58 plutôt pas favorable 29 23
59 pas du tout favorable 20 12
60
61
62
63
64 Données pour les graphiques
65
66
67 Graphique invités interventions ____
68 contre neutre en faveur indéterminé somme headers
69 18 20 12 0 50 values
70 ####
71
72 Graphique invités temps de parole ____
73 contre neutre en faveur indéterminé somme headers
74 18,5898660109718% 71,4502459773025% 9,95988801172576% 0% 100% values
75 ####
76
77
78 Temps de parole tout le monde ____
79 contre neutre en faveur indéterminé somme headers
80 240,816666666667 897,702733333333 112,166666666667 89,526 1340,21206666667 minutes values
81 22,3368677777778 heures ####
82
83 Temps de parole tout le monde en pourcentage ____
84 contre neutre en faveur indéterminé somme headers
85 17,7646417704476% 66,2220256378366% 8,27434695239204% 6,60418292950832% 98,8651972901846% values
86 ####
87
88 Invités temps de parole + edf ____
89 contre neutre en faveur cndp edf somme headers
90 182,416666666667 701,1194 97,7333333333333 541,2194 2,03333333333333 1524,52213333333 values
91 contre neutre en faveur cndp edf somme ####
92 11,9654980848206% 45,9894536569973% 6,41075201182167% 35,5009211192386% 0,133375127121801% 100%
93
94 Associations invitées sur scène par la cndp ____
95 contre neutre en faveur cndp edf somme headers
96 values
97 ####
98
99 Toute organisation présente sur scène, en excluant les évènements de lyon et lille ____
100 contre neutre en faveur cndp edf somme headers
101 values
102 ####
103
104 Assos prises de parole au total + public (sans exclure les évènements) ____
105 contre neutre en faveur cndp edf somme headers
106 values
107 ####
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135 **********************************************************************
136 autres graphs possibles :
137
138 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
139 2 toute orga sur scène en excluant les évènements de lyon et lille ce sur quoi la CNDP avait la main
140 3 assos prises de parole au total + public (sans exclure les évènements)
141
142 graph de tous les temps de parole par organisation, CNDP exclue, avec des couleurs de barre correspondant à la posture de l’organisation
143
144
145
146
147
148
149 invité retapage de tag
150
151 intervenants
152 200 intervenants
153 884,9 minutes
154 14,7 heures
155
156 particuliers
157 contre neutre en faveur
158 50 49 31
159 161,22 146,08 105,42
160 25% 24,5% 15,5%
161 18,22% 16,51% 11,91%
162 AP NP PP
163 anti et particulier neutre et particulier pour et invité
164
165 invités
166 contre neutre en faveur
167 18 44 7
168 142,23 285,4 44,52
169 9% 22% 3,5%
170 16,07% 32,25% 5,03%
171 AI NI PI
172 anti et invité neutre et invité pour et invité
173
174
175
176
177
178
179
180 invité public
181 70 130
182 min 472,15 412,72
183 interventions % 35% 65%
184 temps parole % 53,36% 46,64%
185 pour contre neutre i P
186 invité particulier

Binary file not shown.

View File

@ -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

1
php/cndp/example.json Normal file
View File

@ -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"}

View File

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

View File

@ -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"}

11
php/cndp/index.php Normal file
View File

@ -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>

1
php/cndp/resume.json Normal file
View File

@ -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"}