CSV Umbruch richtig ergennen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Himra
User
Beiträge: 2
Registriert: Mittwoch 21. Juli 2021, 10:02

Hallo Zusammen,

bin gerade dabei eine TXT Datei im CSV-Format korrekt in ein Array einzulesen dabei hab ich das Problem, das ich in manchen Textfeldern einen Umbruch benötige, welche erhalten bleiben sollen.
Die Datei besteht aus einer Überschriftszeile und nur einer Datenzeile.
Zudem hab ich einen Umbruch nach der Überschrift diese beiden Umbrüche unterscheiden sich wie folgt.

Der Umbruch, welcher die Überschrift von der Datenzeile trennt, ist ein LF
die Umbrüche in den Textfeldern sind CR LF

Folgender Code, ist mein erster Versuch, welcher nicht funktioniert:

Code: Alles auswählen

import csv

with open(r"I:\ET\PG_A\druck_.txt", 'rU', newline='', encoding='UTF-8') as f:
    reader = csv.reader(f, delimiter='|')
    #print(list(reader)[0]) # überschrift
    for row in reader:
        print(row)
Für eure Hilfe bereits im Voraus herzlichen dank

Gruß Himra
Himra
User
Beiträge: 2
Registriert: Mittwoch 21. Juli 2021, 10:02

Vielleicht sollte ich zu dem Projekt noch mehr erklären.
Folgendes ist der Plan:
Es sollen aus dieser Textdatei dynamisch Variablen mit Wert erzeugt werden für ein Etikettendruckprogramm.
Die erste Zeile der Datei mit den Spaltenüberschriften enthält den Namen der Variable und die zweite Zeile die dazugehörigen Werte.
Und eben diese Werte enthalten Umbrüche CR LF welche für den Druck der Etiketten relevant sind.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Zellen mit Zeilenumbruch sind normalerweise in " eingefasst, so dass man weiß, was zusammengehört. Die Art des Zeilenumbruchs spielt keine Rolle.
Wie sieht denn so eine Beispieldatei aus?
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

@Himra,
Die erste Zeile der Datei mit den Spaltenüberschriften enthält den Namen der Variable und die zweite Zeile die dazugehörigen Werte
Variablen nach bestimmten Namen zu erzeugen ist zwar möglich aber merkwürdig und unüblich. (Es sei denn ich habe dich misverstanden)

Wenn man unter einem "Namen" mehrere gleichartige Werte speichern möchte, nimmt man in der Regel einen Dictionary dafür:
Da ein Python-Dictionary sehr gut zum JSON-Dateiformat passt, würde ich dir empfehlen die Daten nicht in einer csv, sondern JSON-Datei zu speichern. - Falls du einen Einfluß darauf hast.
Besonders bei einer Zuordnung "Einer <-> Viele" bietet sich ein Dictionary an.
Antworten