Seite 1 von 1

Python: file erstellen

Verfasst: Dienstag 3. November 2020, 08:14
von Jopi01
Hallo, ich möchte ein file erstellen was das aktuelle Datum im filename hat.

erste Ansatz: file = open("Messung.csv","a")

Ergebnis, file Messung.csv wird erstellt.

nun möchte ich ein file erstellen was dann so aussieht: 20201103.csv

file = open("%Y%m%d.csv","a")

Re: Python: file erstellen

Verfasst: Dienstag 3. November 2020, 08:42
von sparrow
"a" ist der Modus zum Anhängen von Daten an eine existierende Datei. Du willst aber eine neue erstellen statt anzuhängen. Um das auch im Code deutlich zu machen verwende den Modus "w".
Beim Schreiben von nicht-binären Dateien sollte man auch immer das Encoding mit angeben.
Dateien sollten mit dem with-Statement geöffnet werden, also:

Code: Alles auswählen

with open(filename, "w") as file:
    ...
Wie kommst du darauf, dass %-Zeichen Platzhalter in Zeichenketten sind?
In aktuellen Python-Versionen nimmt man f-Strings zum Formatieren von Zeichenketten:

Code: Alles auswählen

name = "Jopi"
print(f"Hallo, {name}.")
Und um das aktuelle Datum zu kommen musst du dich mit dem datetime-Modul beschäftigen.

Re: Python: file erstellen

Verfasst: Dienstag 3. November 2020, 09:20
von Sirius3
@sparrow: für die Formatierung von Datum sind %Y, %m und %d schon korrekt, aber das muß natürlich in einen passenden Formatstring gepackt werden:

Code: Alles auswählen

filename = f"{datetime.datetime.now():%Y%m%d}.csv"

Re: Python: file erstellen

Verfasst: Dienstag 3. November 2020, 12:08
von DeaD_EyE
Jopi01 hat geschrieben: Dienstag 3. November 2020, 08:14 nun möchte ich ein file erstellen was dann so aussieht: 20201103.csv
Tip: 20201103_messungen.csv ist doch viel besser
  1. Daten lassen sich weiterhin nach Datum sortieren (lexikografisch)
  2. der angehängte Name gibt Hinweis darauf, um was es sich handeln könnte
Basierend auf dem Beispiel von Sirius3:

Code: Alles auswählen

import datetime


filename = f"{datetime.datetime.now():%Y%m%d}_messungen.csv"