Werte in einer .csv Datei Speichern bzw. .csv weiter füllen

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
Kombifahrer
User
Beiträge: 8
Registriert: Montag 5. Mai 2014, 23:16

Hallo zusammen,

ich lese Textdateien aus und möchte die wert in einer csv speichern bzw. eine bestehende csv weiter auffüllen,
wie auf dem folgendem Bild zu sehen.
(jeweils eine Text Datei = eine Zeile)

Bild

Mein Problem besteht darin,
1. Zu überprüfen ob alle Pos. Vorhanden sind.
Wenn neue Pos dazugekommen sind o. welche fehlen würde ich eine neue Datei erstellen.
2. beim auffüllen, die ausgelesenen Werte unter die richtige Pos zu schreiben, dabei kann es auch vorkommen das manche Pos nicht mit werten besetzt sind.
Könnte mir jemand bei den punkten weiterhelfen??
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

ich verstehe die Frage nicht...

Meinst du mit "ob alle Positionen vorhanden sind", dass es einge bestimmt & bekannte Anzahl von Spalten geben muss?

Und was heißt "beim auffüllen, die ausgelesenen Werte unter die richtige Pos zu schreiben" - willst du Werte zwischen den Spalten umsortieren?

Vielleicht wäre es einfacher, wenn du wie bei Tabellen üblichen von Spalten, Zeilen und Zellem reden würdest :-)

Gruß, noisefloor
BlackJack

@Kombifahrer: Ich habe ein ähnliches Problem wie noisefloor beim Verständnis. Was ich glaube ich verstanden habe ist das Du die CSV-Datei in beide Richtungen erweitern möchtest, also sowohl Zeilen als auch Spalten hinzufügen, und da wollte ich erst einmal zurückfragen ob Dir klar ist das man zum Hinzufügen einer neuen Spalte zu einer bestehenden CSV-Datei die komplette Datei einlesen und neu schreiben muss‽ Das ist nicht wirklich effizient. Wenn das wirklich häufiger vorkommt, würde ich wohl eine Datenbank statt einer CSV-Datei verwenden und die Positionen *in* einer Tabelle als *Daten* speichern statt eine Spalte für jede Position zu haben. Wobei man das notfalls auch so in einer CSV-Datei speichern kann das man die Positionen nicht als Spalten sondern als eine Datenspalte organisiert wo die Positionen als Werte drin stehen.
Kombifahrer
User
Beiträge: 8
Registriert: Montag 5. Mai 2014, 23:16

1.:
Ausgangspunkt ist eine csv Datei die mit den bekannten Pos. erstellt wurde. (z.B. Pos. 1 bis Pos. 50)
aber wen eien neue Pos. dazu kommt, oder ein Pos. nicht mehr vorhanden ist z.B. Pos. 51 kommt hinzu oder Pos. 49 ist nicht mehr in der zu Auzulesende Datei vertreten,
muss eine neue Datei erstellt werden mit den Aktuellen Pos.

2.:
wen die Datei dan da ist wie in Punkt 1. beschrieben, soll die datei immer befült werden mit den dazugehörigen werten sprich,
Täglich werden eine o. mehrere text dateien ausgelesen,
in der die Pos. mit werten besetzt sind von: ''(also kein Wert) über float(0.1) bis zu int(10),
wen z.B. (siehe Bild) am 15.01.2015 eine Datei ausgelesen wir mit folgenden Werten,
Pos.1 = ''
Pos.2 = 20
Pos.3 = 1.5
Pos.4 = ''
Pos.5 = 80
soll die Zeile 7 mit diesen werten, natürlich passen zu den Spalten (Pos.$) ergänzt werden


ich hoffe ich hab mein Problem diesmal verständlich rübergebracht?
BlackJack

@Kombifahrer: So ganz immer noch nicht. Bei den Beispieldaten von 2., heisst das dann das die 'Pos.6'-Spalte in der neu geschriebenen Datei nicht mehr vorhanden sein soll!? Dann ist das ja nicht nur Anhängen sondern die komplette Datei neu schreiben.

Ansonsten klingt es so als wenn Du das halt ausprogrammieren musst was Du da haben möchtest. Problem in kleinere Teilprobleme zerlegen, die lösen, und dann zu einer Gesamtlösung zusammensetzen.

Also Datei mit den neuen Werten einlesen, zum Beispiel in ein Wörterbuch überführen das Schlüssel ('Pos.x') auf den Wert abbildet, dann die Kopfzeile von der CSV-Datei einlesen und mit Mengenoperationen die Unterschiede zu den Schlüsseln ermitteln, also welche Spalten dazugekommen und weggefallen sind, dann weiss man ob man die Daten einfach anhängen kann oder ob man die komplette Datei neu schreiben muss, und so weiter.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

ich hab's auch noch nicht verstanden. Besonders nicht, _was_ an der Ausgabedatei anders sein soll als an der Eingabe-Datei.

Soll in der Ausgabedatei alles drin stehen, was jemals in einer der Eingabedateien gestanden hat?

Vielleicht würde mal ein klitzkleines Beispiel mit 2 oder 3 fiktiven Eingabedateien mit je 3-4 Spalten und 3-4 Zeilen helfen...

Gruß, noisefloor
Antworten