Seite 1 von 1

In den Dateinamen eine Variable einfügen lassen die selbstständig weiter zählt

Verfasst: Sonntag 15. September 2024, 08:45
von Challanger

Code: Alles auswählen

vokabel ="Dieter"
for zahl in range(3):
    filename ="Name-.csv"
    file1 = open(filename, "w")
    file1.write(vokabel)
    file1.close()
Ich kann das Problem schlecht beschreiben, sonst hätte ich auch wohl mit Google lösen können.
Ich möchte mit dem Script erreichen das mir drei CSV Dateien ausgegeben werden mit den Dateinamen

Name-01.csv
Name-02.csv usw.

also einen Zähler einbauen

Bin über hilfe sehr dankbar

mfg Sönke

Re: In den Dateinamen eine Variable einfügen lassen die selbstständig weiter zählt

Verfasst: Sonntag 15. September 2024, 09:05
von Sirius3
Um in Strings Variablen einzusetzen benutzt man f-Strings.
Dateien öffnet man innerhalb eines with-Statements und für csv-Dateien gibt es das csv-Modul.

Code: Alles auswählen

import csv

vokable = "Dieter"
for zahl in range(1, 4):
    filename = f"Name-{zahl:02d}.csv"
    with open(filename, 'w', encoding='utf8', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow([vokabel])

Re: In den Dateinamen eine Variable einfügen lassen die selbstständig weiter zählt

Verfasst: Sonntag 15. September 2024, 09:06
von noisefloor
Hallo,

der Dateiname ist auch "nur" ein String, d.h. du kannst auf den Dateinamen alle Möglichkeiten der Stringformatierung von Python anwenden.

Links: Gruß, noisefloor

Re: In den Dateinamen eine Variable einfügen lassen die selbstständig weiter zählt

Verfasst: Sonntag 15. September 2024, 09:14
von Challanger
Super ich bedanke mich

nochmal das Script (waren kleine Fehler drinn, aber bitte nicht falsch verstehen :-) )

Code: Alles auswählen

import csv

vokable = "Dieter"
for zahl in range(1, 4):
    dateiname = f"Name-{zahl:02d}.csv"
    with open(dateiname, 'w', encoding='utf8', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow([vokable])

Re: In den Dateinamen eine Variable einfügen lassen die selbstständig weiter zählt

Verfasst: Sonntag 15. September 2024, 12:14
von sparrow
Ergänzend noch der Hinweis auf pathlib.Path.glob.
Wenn die Anforderung der 4 Dateien immer gleich bleibt, wäre die hier gezeigt Lösung richtig. Auch weil man dann die Gewisseheit hat, dass alle Dateien auch tatsächlich vorhanden sind.
Falls die Anzahl der Dateien variabel ist, könnte man mit entsprechenden Wildcards alle finden: Name-*.csv

Re: In den Dateinamen eine Variable einfügen lassen die selbstständig weiter zählt

Verfasst: Sonntag 15. September 2024, 12:21
von Sirius3
@sparrow: es geht um das Schreiben von Dateien, nicht lesen.

Re: In den Dateinamen eine Variable einfügen lassen die selbstständig weiter zählt

Verfasst: Sonntag 15. September 2024, 12:26
von sparrow
Danke für den Hinweis, Sirius3.
Wer lesen kann ist klar im Vorteil.