Seite 1 von 1

Speichern einer csv Datei mit führender 0 bei der Ausgabe der Woche

Verfasst: Donnerstag 16. August 2018, 11:05
von aaron
Ich habe eine Funktion, bei der ich csv Dateien in folgendem Format Symbol-Year-Week.csv.gz abspeichere.
Symbol-2016-1.csv.gz. Ich möchte aber eine führende 0 bei der Ausgabe der Woche haben.
Symbol-2016-01.csv.gz

Week.map("{:02}".format)

Code: Alles auswählen

def save_file(symbol, year, week, data):
    filename = generate_filename(symbol, year, week.map("{:02}".format)) 
    print(filename)
    if not os.path.exists(os.path.dirname(filename)):
        os.makedirs(os.path.dirname(filename))
    with open(filename, "wb") as output:
        output.write(data)
Danke für die Hilfe

Re: Speichern einer csv Datei mit führender 0 bei der Ausgabe der Woche

Verfasst: Donnerstag 16. August 2018, 11:23
von __deets__
Ich weiss nicht, was "week.map" ist, aber du musst format schon aufrufen, das ist eine Funktion, kein Attribut.

Re: Speichern einer csv Datei mit führender 0 bei der Ausgabe der Woche

Verfasst: Donnerstag 16. August 2018, 11:38
von snafu
Ist vielleicht das gemeint?

Code: Alles auswählen

map('{:02}'.format, range(1, 53))

Re: Speichern einer csv Datei mit führender 0 bei der Ausgabe der Woche

Verfasst: Donnerstag 16. August 2018, 19:15
von Sirius3
Das sollte ja in einem format-String stehen:

Code: Alles auswählen

filename = os.path.join(BASEPATH, "{}_{:04d}_{:02d}.csv".format(symbol, year, weak))
Wenn Du wirklich gz-Dateien schreiben willst, solltest Du nicht `open`, sondern `gzip.open` benutzen.

Re: Speichern einer csv Datei mit führender 0 bei der Ausgabe der Woche

Verfasst: Donnerstag 16. August 2018, 19:40
von ThomasL
Sirius3 hat geschrieben: Donnerstag 16. August 2018, 19:15 filename = os.path.join(BASEPATH, "{}_{:04d}_{:02d}.csv".format(symbol, year, weak))
Schwächelt da jemand :lol: