Ceci est mon premier message posté. Je suis nouveau sur python. Je voudrais combiner plusieurs fichiers csv de format commun déchargés de l'équipement, etc. dans un seul fichier, et je vais présenter le code que j'ai créé en recherchant diverses choses.
2020/04/06 postscript Efficace lorsque l'en-tête est une ligne et que toutes les données sont nettes. Notez qu'une erreur peut se produire s'il y a des lignes sans données.
On suppose qu'il y a beaucoup de csv avec le même format dans le dossier de test à l'emplacement d'exécution.
import pandas as pd
import glob
#Récupère la liste des fichiers spécifiés par le chemin au format liste.(Ici, en dessous du fichier de test un niveau en dessous)
csv_files = glob.glob('test/*.csv')
#Afficher la liste des fichiers à lire
for a in csv_files:
print(a)
#Préparez une liste pour ajouter le contenu du fichier csv
data_list = []
#Scannez la liste des fichiers à lire
for file in csv_files:
data_list.append(pd.read_csv(file))
#Combinez toutes les listes dans le sens des lignes
#axis=0:Rejoindre dans le sens de la ligne, sort
df = pd.concat(data_list, axis=0, sort=True)
df.to_csv("test/total1.csv",index=False)
J'étais préoccupé par le traitement de l'en-tête, mais si vous utilisez des pandas, c'est pratique car il ne joindra les choses avec la même colonne qu'avec des données sans m'en soucier, et j'ai pu comprendre le mouvement des pandas.
Recommended Posts