2017-02-10 4 views
0

Problem Statement:Kombinieren Sie monatliche tägliche Dateien zu einem?

Bei täglichen CSV-Dateien für jeden Tag eines jeden Monats für die letzten 12 Monate auf einem Linux-System, was ist die beste Art und Weise täglich Dateien in monatliche Dateien amalgamieren, in monatlichen Dateien resultierenden Python ?

Dateiname Beispiele

alf.history.alerts.2016-02-24

alf.history.alerts.2016-04-24

Vielen Dank für die Eingabe im Voraus jeder! Hoffe, etwas als Teil davon zu lernen.

+0

Sind Daten in den Dateien streng täglich, also Mitternacht bis Mitternacht? Wenn dies der Fall ist, können Sie die Dateien einfach mit bash verketten. – 9000

+0

Ja, ich weiß, wie es in BASH geht. Suchen Sie im Wesentlichen nach 01 * ... 12 * und erstellen Sie daraus monatliche Dateien. Wollte verstehen, wie man in Python dasselbe macht :) – telecomToperl

+1

Hast du schon irgendwas codiert (auch in BASH)? –

Antwort

1

Sie haben keinen Code geschrieben, also werde ich auch nicht.

  • Sie eine Liste von Dateien mit glob
  • Ihre Dateien bekommen können, wenn sie von Dateinamen sortiert, werden auch von Tag sortiert (das ist gut)
  • Sie groupby auf der sortierten Liste zu gruppieren können sie durch Monat. Als Kriterium für groupby können Sie filename[:-3] verwenden. Beispiel: "alf.history.alerts.2016-02-24"[:-3] >>> "alf.history.alerts.2016-02"
  • Sie haben dann 12 Gruppen von CSV-Dateien. Erstellen Sie für jede Gruppe eine neue CSV-Datei, iterieren Sie über sortierte CSVs und schreiben Sie deren Inhalt in die monatliche CSV-Datei.
+1

Perfekt! Danke Eric. Ich bin froh, dass du nicht nur die Antwort gegeben hast. Ich werde es ausprobieren und zurückkommen, wenn ich Fragen habe! – telecomToperl

Verwandte Themen