Kako kombinirati više CSV datoteka s 8 redaka koda

Zašto vam ovo treba?

Ručno lijepljenje kopija je u redu ako nemate previše datoteka za rad.

Ali zamislite ako imate više od 100 datoteka za spajanje - jeste li spremni to učiniti ručno? Ponavljanje je dosadno i podložno pogreškama.

Ako sve datoteke imaju istu strukturu tablice (ista zaglavlja i broj stupaca), neka ova mala Python skripta obavi posao.

Korak 1: Uvezite pakete i postavite radni direktorij

Promijenite “/ mydir” u željeni radni direktorij.

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

Korak 2: Upotrijebite glob kako biste odgovarali uzorku 'csv'

Uskladite obrazac ('csv') i spremite popis imena datoteka u varijablu 'all_filenames'. Ovu vezu možete provjeriti kako biste saznali više o podudaranju regularnih izraza.

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

Korak 3: Kombinirajte sve datoteke na popisu i izvezite kao CSV

Koristite pande za spajanje svih datoteka na popisu i izvoz kao CSV. Izlazna datoteka naziva se "kombinirani_csv.csv" koja se nalazi u vašem radnom direktoriju.

#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' je dodan kako bi se prevladao problem prilikom izvoza 'ne-engleskih' jezika.

I ... gotovo je!

Ovaj je članak nadahnut mojim stvarnim svakodnevnim problemom, a struktura kodiranja je iz rasprave o stackoverflowu. Dovršena skripta za ovu uputu dokumentirana je na GitHubu.

Hvala na čitanju. Pokušajte, zabavite se i javite mi svoje povratne informacije!

Ako vam se sviđa ono što sam učinio, razmislite o tome da me pratite na GitHubu, Mediumu i Twitteru. Obavezno ga označite zvjezdicom na GitHub: P