<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://indywiki.fr/index.php?action=history&amp;feed=atom&amp;title=Discussion%3AUltra_fact_checker_performance</id>
	<title>Discussion:Ultra fact checker performance - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://indywiki.fr/index.php?action=history&amp;feed=atom&amp;title=Discussion%3AUltra_fact_checker_performance"/>
	<link rel="alternate" type="text/html" href="https://indywiki.fr/index.php?title=Discussion:Ultra_fact_checker_performance&amp;action=history"/>
	<updated>2026-04-18T10:38:11Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://indywiki.fr/index.php?title=Discussion:Ultra_fact_checker_performance&amp;diff=3335&amp;oldid=prev</id>
		<title>Anthony : Page créée avec « &lt;pre&gt; import csv from operator import itemgetter  # Charger le fichier M-1 CSV with open(&#039;M-1.csv&#039;, &#039;r&#039;) as file1:     reader1 = csv.reader(file1, delimiter=&#039;;&#039;)     next(reader1)  # Ignorer l&#039;en-tête s&#039;il y en a un     data1 = {row[3]: float(row[5].replace(&#039;,&#039;, &#039;.&#039;)) for row in reader1}  # Charger le fichier N CSV et créer le fichier comparatif CSV with open(&#039;M.csv&#039;, &#039;r&#039;) as file2, open(&#039;comparatif.csv&#039;, &#039;w&#039;, newline=&#039;&#039;) as file3:     reader2 = csv.reader(file... »</title>
		<link rel="alternate" type="text/html" href="https://indywiki.fr/index.php?title=Discussion:Ultra_fact_checker_performance&amp;diff=3335&amp;oldid=prev"/>
		<updated>2023-08-04T08:12:47Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &amp;lt;pre&amp;gt; import csv from operator import itemgetter  # Charger le fichier M-1 CSV with open(&amp;#039;M-1.csv&amp;#039;, &amp;#039;r&amp;#039;) as file1:     reader1 = csv.reader(file1, delimiter=&amp;#039;;&amp;#039;)     next(reader1)  # Ignorer l&amp;#039;en-tête s&amp;#039;il y en a un     data1 = {row[3]: float(row[5].replace(&amp;#039;,&amp;#039;, &amp;#039;.&amp;#039;)) for row in reader1}  # Charger le fichier N CSV et créer le fichier comparatif CSV with open(&amp;#039;M.csv&amp;#039;, &amp;#039;r&amp;#039;) as file2, open(&amp;#039;comparatif.csv&amp;#039;, &amp;#039;w&amp;#039;, newline=&amp;#039;&amp;#039;) as file3:     reader2 = csv.reader(file... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
import csv&lt;br /&gt;
from operator import itemgetter&lt;br /&gt;
&lt;br /&gt;
# Charger le fichier M-1 CSV&lt;br /&gt;
with open(&amp;#039;M-1.csv&amp;#039;, &amp;#039;r&amp;#039;) as file1:&lt;br /&gt;
    reader1 = csv.reader(file1, delimiter=&amp;#039;;&amp;#039;)&lt;br /&gt;
    next(reader1)  # Ignorer l&amp;#039;en-tête s&amp;#039;il y en a un&lt;br /&gt;
    data1 = {row[3]: float(row[5].replace(&amp;#039;,&amp;#039;, &amp;#039;.&amp;#039;)) for row in reader1}&lt;br /&gt;
&lt;br /&gt;
# Charger le fichier N CSV et créer le fichier comparatif CSV&lt;br /&gt;
with open(&amp;#039;M.csv&amp;#039;, &amp;#039;r&amp;#039;) as file2, open(&amp;#039;comparatif.csv&amp;#039;, &amp;#039;w&amp;#039;, newline=&amp;#039;&amp;#039;) as file3:&lt;br /&gt;
    reader2 = csv.reader(file2, delimiter=&amp;#039;;&amp;#039;)&lt;br /&gt;
    next(reader2)  # Ignorer l&amp;#039;en-tête s&amp;#039;il y en a un&lt;br /&gt;
&lt;br /&gt;
    writer = csv.writer(file3, delimiter=&amp;#039;;&amp;#039;)&lt;br /&gt;
    writer.writerow([&amp;#039;Client&amp;#039;, &amp;#039;Montant M-1&amp;#039;, &amp;#039;Montant M&amp;#039;, &amp;#039;% d\&amp;#039;évolution&amp;#039;])&lt;br /&gt;
&lt;br /&gt;
    # Parcourir les lignes du fichier N et mettre à jour les données&lt;br /&gt;
    for row in reader2:&lt;br /&gt;
        client = row[4]&lt;br /&gt;
        montant_facture = float(row[9].replace(&amp;#039;,&amp;#039;, &amp;#039;.&amp;#039;))&lt;br /&gt;
&lt;br /&gt;
        if client in data1:&lt;br /&gt;
            montant_M_1 = data1[client]&lt;br /&gt;
            montant_M = montant_facture&lt;br /&gt;
            evolution = montant_M - montant_M_1&lt;br /&gt;
            pourcentage_evolution = int((evolution / montant_M_1) * 100)&lt;br /&gt;
&lt;br /&gt;
            writer.writerow([client, montant_M_1, montant_M, pourcentage_evolution])&lt;br /&gt;
            del data1[client]  # Supprimer le client de data1 pour identifier les clients restants dans M-1&lt;br /&gt;
&lt;br /&gt;
        else:&lt;br /&gt;
            # Le client n&amp;#039;existe pas dans le fichier M-1&lt;br /&gt;
            writer.writerow([client, 0, montant_facture, 9999])&lt;br /&gt;
&lt;br /&gt;
    # Traiter les clients restants dans le fichier M-1&lt;br /&gt;
    for client, montant_M_1 in data1.items():&lt;br /&gt;
        writer.writerow([client, montant_M_1, 0, -9999])&lt;br /&gt;
&lt;br /&gt;
# Trier le fichier comparatif.csv selon le pourcentage d&amp;#039;évolution dans l&amp;#039;ordre décroissant&lt;br /&gt;
data = []&lt;br /&gt;
with open(&amp;#039;comparatif.csv&amp;#039;, &amp;#039;r&amp;#039;) as file:&lt;br /&gt;
    reader = csv.reader(file, delimiter=&amp;#039;;&amp;#039;)&lt;br /&gt;
    next(reader)  # Ignorer l&amp;#039;en-tête&lt;br /&gt;
    data = list(reader)&lt;br /&gt;
&lt;br /&gt;
sorted_data = sorted(data, key=lambda row: int(row[3]), reverse=True)&lt;br /&gt;
&lt;br /&gt;
with open(&amp;#039;comparatif.csv&amp;#039;, &amp;#039;w&amp;#039;, newline=&amp;#039;&amp;#039;) as file:&lt;br /&gt;
    writer = csv.writer(file, delimiter=&amp;#039;;&amp;#039;)&lt;br /&gt;
    writer.writerow([&amp;#039;Client&amp;#039;, &amp;#039;Montant M-1&amp;#039;, &amp;#039;Montant M&amp;#039;, &amp;#039;% d\&amp;#039;évolution&amp;#039;])&lt;br /&gt;
    writer.writerows(sorted_data)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anthony</name></author>
	</entry>
</feed>