De ce ai nevoie de asta?

Copierea manuală este perfectă dacă nu aveți prea multe fișiere cu care să lucrați.

Dar imaginați-vă dacă aveți peste 100 de fișiere de concatenat – sunteți dispus să o faceți manual? A face acest lucru în mod repetat este obositor și predispus la erori.

Cum se combina mai multe fisiere CSV cu 8 linii

Dacă toate fișierele au aceeași structură a tabelului (aceleași anteturi și număr de coloane), lăsați acest lucru mic Script Python Fă treaba.

Pasul 1: Importați pachete și setați directorul de lucru

Schimbați „/ mydir” în directorul de lucru dorit.

import os
import glob
import pandas as pd
os.chdir("/mydir")

Pasul 2: utilizați glob pentru a se potrivi cu modelul „csv”

Potriviți modelul („csv”) și salvați lista numelor de fișiere în variabila „all_filenames”. Puteți verifica acest link pentru a afla mai multe despre potrivirea expresiei regulate.

extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]

Pasul 3: Combinați toate fișierele din listă și exportați ca CSV

Utilizați panda pentru a concatena toate fișierele din listă și exportați ca CSV. Fișierul de ieșire se numește „combinat_csv.csv” situat în directorul dvs. de lucru.

#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#export to csv
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')

encoding = ‘utf-8-sig’ este adăugat pentru a depăși problema la exportul limbilor „non-engleză”.

Și … s-a făcut!

Acest articol a fost inspirat de problema mea de zi cu zi, iar structura de codare provine dintr-o discuție stackoverflow. Scriptul completat pentru acest manual este documentat pe GitHub.

Mulțumesc că ai citit. Vă rugăm să încercați, distrați-vă și spuneți-mi feedback-ul dvs.!

Dacă îți place ceea ce am făcut, ia în considerare urmărirea mea GitHub, Mediu, și Stare de nervozitate. A te asigura să o vedem pe GitHub : P