Hogyan lehet több CSV fájlt kombinálni 8 kódsorral

Miért van szükséged erre?

A másolás kézi beillesztése rendben van, ha nincs túl sok fájlja, amivel dolgozhatna.

De képzelje el, ha több mint 100 fájlja van az összefűzéshez - hajlandó manuálisan megtenni? Ennek ismétlődő elvégzése unalmas és hibára hajlamos.

Ha az összes fájlnak ugyanaz a táblázatos felépítése (ugyanazok a fejlécek és oszlopok száma), hagyja, hogy ez az apró Python szkript elvégezze a munkát.

1. lépés: Csomagok importálása és a munkakönyvtár beállítása

Állítsa a „/ mydir” szót a kívánt munkakönyvtárra.

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

2. lépés: A glob használatával illeszkedjen a „csv” mintához

Illessze össze a mintát ('csv'), és mentse a fájlnevek listáját az 'all_filenames' változóba. Ezt a linket megnézve többet tudhat meg a reguláris kifejezés egyeztetéséről.

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

3. lépés: Kombinálja az összes fájlt a listában, és exportálja CSV-fájlként

Használja a pandákat a lista összes fájljának összefűzéséhez és CSV-formátumban történő exportálásához. A kimeneti fájl neve „combined_csv.csv”, amely a munkakönyvtárban található.

#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' kerül hozzáadásra a probléma kiküszöbölésére a 'Nem angol' nyelv exportálásakor.

És… kész!

Ezt a cikket a mindennapi problémám ihlette, és a kódolási struktúra a stackoverflow-ról szóló beszélgetésből származik. Ennek az útmutatónak a teljes szkriptjét a GitHub dokumentálja.

Köszönöm, hogy elolvasta. Kérjük, próbálja ki, érezd jól magad, és tudasd velem a visszajelzésedet!

Ha tetszik, amit tettem, fontolja meg, hogy kövessen a GitHubon, a Mediumon és a Twitteren. Ne felejtsd el csillagozni a GitHubon: P