Seite 1 von 1

CSV Umbruch richtig ergennen

Verfasst: Mittwoch 21. Juli 2021, 10:17
von Himra
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

Re: CSV Umbruch richtig erkennen

Verfasst: Mittwoch 21. Juli 2021, 15:40
von Himra
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.

Re: CSV Umbruch richtig ergennen

Verfasst: Mittwoch 21. Juli 2021, 16:06
von Sirius3
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?

Re: CSV Umbruch richtig ergennen

Verfasst: Mittwoch 21. Juli 2021, 16:32
von rogerb
@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.