Bonjour,
Je suis d�veloppeur mainframe et je suis actuellement en auto-formation sur le langage python.
Pour m�entra�ner, je suis entrain de d�velopper un programme simple de web scrapping et de data-analyse afin de m'initier aux librairies bs et panda.
Pour donner des �l�ments de contexte, je scrap le site de la FDJ pour r�cup�rer les archives de l'euromillion pour pouvoir faire des stats sur les num�ros (je sais tr�s bien que je ne deviendrai pas millionnaire mais cela m'amuse).
Je rencontre actuellement un probl�me que je ne parviens pas � r�soudre, malgr� de nombreuses recherches sur diff�rents sites.
Mon programme r�cup�re plusieurs fichiers csv que je cherche � concat�ner. Ces fichiers n'ont pas le m�me nombre de colonnes mais chaque colonne est libell� de la m�me mani�re. Pour chaque fichier, je demande � mon programme d'effectuer une extraction des colonnes qui m'int�ressent et de concat�ner le r�sultat dans un fichier en sortie.
L'extraction et la concat�nation semble bien s'effectuer sauf pour le dernier fichier. Lorsque j'ouvre ce fichier, les donn�es sont bien positionn�es mais lorsque je fais un print() du contenu de ce fichier, les donn�es sont d�cal�es (colonne A avec contenu de la colonne B et colonne C avec contenu de la colonne B). Je fais �galement ce constat quand j'ouvre mon fichier concat�ner.
Je vous mets ci-dessous le code que j'ai utilis� pour r�aliser ma concat�nation. Pouvez-vous m'�clairer sur les cause de l'anomalie car je s�che compl�tement.
Ci-dessous les r�sultats du print d'un fichier bien pris en charge:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ## concaténation des fichiers filenames = find_csv_filenames("./fichiers") #récupération des fichiers csv du dossier concat_file_temp = pd.DataFrame() concat_file = pd.DataFrame() euromillion_finale = pd.DataFrame() for name in filenames: print(name) concat_file_temp = pd.read_csv("./fichiers/"+name,delimiter=';',engine='python') concat_file = concat_file_temp[['boules_gagnantes_en_ordre_croissant', 'etoiles_gagnantes_en_ordre_croissant']] print(concat_file) euromillion_finale = pd.concat([euromillion_finale,concat_file]) ## Ecriture des fusions de fichier euromillion_finale.to_csv("./fichiers_resultat/euromillion_finale.csv",index=False,header=True,sep=',')
Ci-dessous les r�sultats du print du fichier probl�matique:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 boules_gagnantes_en_ordre_croissant etoiles_gagnantes_en_ordre_croissant 0 -11-16-20-22-28- -4-9- 1 -15-25-38-40-41- -1-2- ... 376 -7-13-39-47-50- -2-5- 377 -16-29-32-36-41- -7-9-
A la place des num�ros de lignes, j'ai le contenu de la premi�re colonne du fichier. De plus le r�sultat du print() n�appara�t pas de la m�me mani�re.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 boules_gagnantes_en_ordre_croissant \ 2016078 -2-12- 2016079 -2-10- ... 2019016 -3-7- 2019017 -3-4- etoiles_gagnantes_en_ordre_croissant 2016078 0 2016079 0 ... 2019016 0 2019017 0
Je vous remercie d'avance pour vos suggestions.
Partager