Kaip sujungti kelis CSV failus su 8 kodo eilutėmis

Kodėl jums to reikia?

Neautomatiškai kopijuoti įklijuokite, jei neturite per daug failų, su kuriais galėtumėte dirbti.

Bet įsivaizduokite, jei turite daugiau nei 100 failų, kuriuos norite susieti - ar norite tai padaryti rankiniu būdu? Tai daryti pakartotinai yra varginantis ir linkęs į klaidas.

Jei visi failai turi tą pačią lentelės struktūrą (tos pačios antraštės ir stulpelių skaičius), leiskite šį mažą „Python“ scenarijų atlikti.

1 žingsnis: Importuokite paketus ir nustatykite darbo katalogą

Pakeiskite „/ mydir“ į norimą darbo katalogą.

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

2 žingsnis: naudokite „Glob“, kad atitiktų „csv“ modelį

Suderinkite šabloną („csv“) ir išsaugokite failų pavadinimų sąrašą kintamajame „all_filenames“. Galite sužinoti šią nuorodą, kad sužinotumėte daugiau apie įprastų išraiškų atitikimą.

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

3 žingsnis: sujunkite visus sąrašo failus ir eksportuokite kaip CSV

Naudokite pandas, kad sujungtumėte visus sąrašo failus ir eksportuotumėte kaip CSV. Išvesties failas pavadintas „combined_csv.csv“, esantis jūsų darbo kataloge.

#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' pridedama siekiant išspręsti problemą eksportuojant ne angliškas kalbas.

Ir ... tai padaryta!

Šį straipsnį įkvėpė mano tikroji kasdienė problema, o kodavimo struktūra yra iš diskusijos apie „stackoverflow“. Užbaigtas šios instrukcijos scenarijus yra dokumentuojamas „GitHub“.

Ačiū, kad skaitėte. Pabandykite, linksminkitės ir praneškite man savo atsiliepimus!

Jei jums patinka tai, ką padariau, apsvarstykite galimybę sekti mane „GitHub“, „Medium“ ir „Twitter“. Būtinai pažymėkite žvaigždute „GitHub“: P