Sådan kombineres flere CSV-filer med 8 linjer kode

Hvorfor har du brug for dette?

Manuel kopi-indsættelse er fint, hvis du ikke har for mange filer at arbejde med.

Men forestil dig at hvis du har mere end 100 filer at sammenkæde - er du villig til at gøre det manuelt? At gøre dette gentagne gange er kedeligt og fejlbehæftet.

Hvis alle filerne har den samme tabelstruktur (samme overskrifter og antal kolonner), så lad dette lille Python-script udføre arbejdet.

Trin 1: Importer pakker, og indstil arbejdsmappen

Skift “/ mydir” til den ønskede arbejdsmappe.

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

Trin 2: Brug glob til at matche mønsteret 'csv'

Match mønsteret ('csv'), og gem listen over filnavne i variablen 'all_filenames'. Du kan tjekke dette link for at lære mere om matching af regulært udtryk.

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

Trin 3: Kombiner alle filer på listen og eksporter som CSV

Brug pandaer til at sammenkæde alle filer på listen og eksportere som CSV. Outputfilen hedder "combined_csv.csv", der findes i din arbejdsmappe.

#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")

kodning = 'utf-8-sig' tilføjes for at løse problemet ved eksport af 'ikke-engelske' sprog.

Og ... det er gjort!

Denne artikel blev inspireret af mit aktuelle hverdagsproblem, og kodningsstrukturen er fra en diskussion om stackoverflow. Det færdige script til denne vejledning er dokumenteret på GitHub.

Tak fordi du læste. Prøv det, have det sjovt og lad mig vide din feedback!

Hvis du kan lide hvad jeg gjorde, så overvej at følge mig på GitHub, Medium og Twitter. Sørg for at stjerne det på GitHub: P