Kuidas kombineerida mitu CSV-faili 8 koodireaga

Miks seda vaja on?

Käsitsi kopeerimine-kleepimine sobib, kui teil pole töötamiseks liiga palju faile.

Kuid kujutage ette, kui teil on liitmiseks üle 100 faili - kas olete valmis seda käsitsi tegema? Selle korduv tegemine on tüütu ja aldis vigadele.

Kui kõigil failidel on ühesugune tabelistruktuur (samad päised ja veergude arv), las see väike Pythoni skript teeb tööd.

1. samm: importige paketid ja määrake töökataloog

Muutke “/ mydir” soovitud töökataloogiks.

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

2. samm: mustri „csv” sobitamiseks kasutage globi

Sobitage muster ('csv') ja salvestage failinimede loend muutujasse 'all_filenames'. Regulaaravaldise sobitamise kohta lisateabe saamiseks vaadake seda linki.

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

3. samm: ühendage kõik loendis olevad failid ja eksportige CSV-vormingus

Kasutage pandasid kõigi loendis olevate failide liitmiseks ja CSV-vormingus eksportimiseks. Väljundfaili nimeks on teie kombineeritud_csv.csv, mis asub teie töökataloogis.

#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' lisatakse probleemi lahendamiseks muude kui inglise keelte eksportimisel.

Ja ... see on tehtud!

See artikkel on inspireeritud minu tegelikust igapäevaprobleemist ja kodeerimisstruktuur pärineb virnastamisvoo arutelust. Selle juhendi valmiskript on dokumenteeritud GitHubis.

Täname lugemast. Palun proovige, nautige ja andke mulle tagasisidet!

Kui teile meeldib see, mida ma tegin, kaaluge minu jälgimist GitHubis, Mediumis ja Twitteris. Tärnige see kindlasti GitHubis: P