Kuinka yhdistää useita CSV-tiedostoja 8 koodiriville

Miksi tarvitset tätä?

Manuaalinen kopiointi on hieno, jos sinulla ei ole liikaa tiedostoja työskennellä.

Mutta kuvittele, jos sinulla on yli 100 tiedostoa ketjutettavaksi - oletko valmis tekemään sen manuaalisesti? Tämän toistaminen on ikävystyttävää ja virhealtista.

Jos kaikilla tiedostoilla on sama taulukorakenne (samat otsikot ja sarakemäärä), anna tämän pienen Python-komentosarjan tehdä työ.

Vaihe 1: Tuo paketteja ja aseta työkansio

Muuta ”/ mydir” haluamaasi työkansioon.

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

Vaihe 2: Käytä globaattia sovittamaan kuvio 'csv'

Yhdistä malli ('csv') ja tallenna tiedostoluettelo muuttujaan 'all_filenames'. Voit tarkistaa tämän linkin saadaksesi lisätietoja säännöllisen lausekkeen vastaavuudesta.

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

Vaihe 3: Yhdistä kaikki luettelon tiedostot ja vie CSV-tiedostona

Käytä pandoja yhdistämään kaikki luettelon tiedostot ja viemällä CSV-tiedostona. Tulostustiedoston nimi on ”combined_csv.csv”, joka sijaitsee työhakemistossasi.

#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' lisätään ongelman poistamiseksi vietäessä muita kuin englanninkielisiä kieliä.

Ja… se on tehty!

Tämä artikkeli on saanut inspiraationi todellisesta jokapäiväisestä ongelmastani, ja koodausrakenne on peräisin pinonkulun keskustelusta. Tämän ohjeen valmis komentosarja on dokumentoitu GitHubissa.

Kiitos, että luit. Kokeile, pidä hauskaa ja kerro minulle palautteesi!

Jos pidät tekemästään, kannattaa seurata minua GitHubissa, Mediumissa ja Twitterissä. Muista tähdellä se GitHubissa: P