Daten in einer Textdatei umtauschen

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
Benutzeravatar
Gunnar
User
Beiträge: 68
Registriert: Samstag 23. Oktober 2004, 08:59

Sonntag 9. Januar 2005, 15:31

Moin !
Ich bin am verzweifeln. Ich habe es jetzt schon über 2 Wege versucht, aber ich schaffe es einfach nicht so eine billige Aktion hinzubekommen.

Ich soll eine Editlist bearbeiten...in dieser stehen die Datensätze als Plaintext und sollen untereinander ausgestauscht werden. Ach einfach dachte ich mir :
In eine Liste einlesen, mit zwei Schleifen auslesen, austauschen und .. Argh... wieder schreiben ? ?? Ich weiß nicht wie ich das anstellen soll.

Die Editlist sieht so aus : ( in diesem Beispiel nur 2 Datensätze )


001 187 V C 07:19:14:05 07:19:24:13 01:00:00:00 01:00:10:08
* FROM CLIP NAME: 107 V/1 AP/1 CAM A MOS
002 188 V C 08:01:08:17 08:01:12:19 01:00:10:08 01:00:14:10
* FROM CLIP NAME: 107 V/1 AP/2 CAM B MOS

Nun soll die 187 in Zeile 1 gegen alles ausgetauscht werden, daß hinter Zeile 2 FROM CLIP NAME steht und zwar in diesem Format :
V107_4_AP_3_CAM_A
Die 187 stellt sich dann hinter FROM CLIP NAME

Zusammengefasste erwünschte Version :

001 V107_4_AP_1_CAM_A V C 07:19:14:05 07:19:24:13 01:00:00:00 01:00:10:08
* FROM CLIP NAME: 187
002 V107_4_AP_2_CAM_A V C 07:19:14:05 07:19:24:13 01:00:00:00 01:00:10:08
* FROM CLIP NAME: 188

Es wäre echt nett, wenn sich jemand die Zeit nimmt, mir einen Gedankenanstoß zu geben, denn ich komme so nicht weiter.

Danke,
Gunnar :?
Zuletzt geändert von Gunnar am Sonntag 9. Januar 2005, 17:11, insgesamt 1-mal geändert.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Sonntag 9. Januar 2005, 17:02

Hi Gunnar,

könntest du dir dein Beispiel nochmal anschaun, gerade bei dem zweiten Datensatz, wird da auch die 002 gegen 001 am Anfang ausgetauscht, und wie kommst du zu den Daten, die entsprechen ja nicht den Datein die bei der ursprünglichen Datei in der 2. Zeile stehen? Dort steht AP/2 CAM B und in der geänderten AP_2_CAM_A ?


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Gast

Sonntag 9. Januar 2005, 17:10

Hi Dookie !
Zu deinen Fragen :
Habe die Zeile kopiert, die 001 soll natürlich 002 sein ( hab ich editiert )
Das andere soll so werden, da diese neue Zeile einem Programm sagt, welchen Ordner es erstellen soll und das funktioniert ja nicht zweifelsfrei mit Leerzeichen und Schrägstrichen. Diese Daten werden also nicht nur umgetauscht , sondern auch modifiziert.
Im Grunde bin ich jetzt soweit, daß ich eine Liste erstelle, mir die Werte in temporäre Variablen haue, modifiziere und dann ein eine neue Liste haue.
Die Frage lautet im Moment eher :
Wie schreibe ich die Daten von einer Liste in der richtigen Reihenfolge mit den richtigen Zeilenumbrüchen und Leerzeichen dazwischen in eine neue Datei ??? ( die Anzahl der Leerzeichen ist dabei nicht maßgeblich, nur, daß die Daten durch welche getrennt werden und die Zeilenumbrüche so wiederhergestellt werden.
Benutzeravatar
Gunnar
User
Beiträge: 68
Registriert: Samstag 23. Oktober 2004, 08:59

Sonntag 9. Januar 2005, 17:12

Mist, war nicht eingeloggt :roll:
Benutzeravatar
Gunnar
User
Beiträge: 68
Registriert: Samstag 23. Oktober 2004, 08:59

Sonntag 9. Januar 2005, 18:54

Ok, jetzt bekomme ich garnichts mehr in den Kopf.

Ich habe mehrere Listen in einer Großen, durch die ich mich mit Schleifen durchhangel.
Nun möchte ich in einer der Unterlisten mehrere Werte hintereinander auslesen. Es ist allerdings immer unterschiedlich, wie viele Einträge ich aus den Unterlisten auslesen muß. Von daher kommt keine For-Schleife in Frage. Nun weiß ich aber nicht, wie ich der while ( oder do - while ) Schleife sagen kann, daß es keinen Wert mehr auszulesen gibt. Es soll ja keinen Fehler geben :?
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Sonntag 9. Januar 2005, 19:08

Ich auch ned.

Bei der zweitern Zeile gings mir mehr um CAM A statt CAM B heists dann. Wieso dort CAM A oder immer CAM A? Das mit den Leerzeichen bzw Zeilenumbrücken war mir schon klar.

Nur mit deiner neuen Beschreibung kann ich gar nix anfangen.

Analysier erstmal das Problem, also was du genau machen willst und versuche es so klar wie möglich darzustellen, warscheinlich kommst du dann selber auf die richtige Lösung.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Benutzeravatar
Gunnar
User
Beiträge: 68
Registriert: Samstag 23. Oktober 2004, 08:59

Sonntag 9. Januar 2005, 19:11

lol, ja !
Es wird echt Zeit für Feierabend.

Bis morgen oder so und danke für die Antworten.

Gunnar
Antworten