Hallo zusammen!
Ich komme leider nicht weiter bei folgendem problem:
Meine Ausgangs-XML-Datei enthält mehrzeilige Strings, z.B.
<xx:Anschrift>
Hans Meier
Taubenweg 38
12345 Musterstadt
Deutschland
</xx:Anschrift>
Für meine Ausgabe in ein neues XML-Dokument (das ich jetzt übrigens mit lxml erstelle, danke an das Forum!!) benötige ich diesen mehrzeiligen String jedoch in dieser Form:
<yy:neueAdresse>Hans Meier, Taubenweg 38, 12345 Musterstadt, Deutschland</yy:neueAdresse>
Lese ich den xx-String aus und schreibe ihn in die neue Datei, bleiben die Zeilenumbrüche leider erhalten.
Wie kann ich das ändern? Ob die Werte nun durch ",", ";", "-", oder einfach nur durch Leerzeichen voneinander getrennt sind, ist egal.
Danke!!
Viele Grüße
Mehrzeiliger String in einzeiligen String umwandeln?
Code: Alles auswählen
>>> a = "Hans Meier\n\
Taubenweg 38\n\
12345 Musterstadt\n\
Deutschland\n"
>>> a.strip().replace("\n", ", ")
'Hans Meier, Taubenweg 38, 12345 Musterstadt, Deutschland'
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Code: Alles auswählen
>>> a = "Hans Meier\nTaubenweg 38\n12345 Musterstadt\nDeutschland\n"
>>> a.splitlines()
['Hans Meier', 'Taubenweg 38', '12345 Musterstadt', 'Deutschland']
>>> ", ".join(a.splitlines())
'Hans Meier, Taubenweg 38, 12345 Musterstadt, Deutschland'
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
-
- User
- Beiträge: 18
- Registriert: Samstag 25. April 2009, 11:11
Danke Für Eure Antworten! Funktioniert prima!!
Wenn ihr mir noch eine andere Frage erlaubt:
Ich will nach jedem Durchlauf einer for-Schleife eine neue Datei erzeugen, fortlaufend durchnummeriert. Über einen Counter wollte das nicht so wirklich funktionieren...
Gibt es da evtl. in Python eine fertige Funktion?
Wenn ihr mir noch eine andere Frage erlaubt:
Ich will nach jedem Durchlauf einer for-Schleife eine neue Datei erzeugen, fortlaufend durchnummeriert. Über einen Counter wollte das nicht so wirklich funktionieren...
Gibt es da evtl. in Python eine fertige Funktion?
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Zeig mal den Code...PhantomWorks hat geschrieben:Ich will nach jedem Durchlauf einer for-Schleife eine neue Datei erzeugen, fortlaufend durchnummeriert. Über einen Counter wollte das nicht so wirklich funktionieren...
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Bist Du Dir sicher, dass Du diese Form "willst"? (Oder kann man an dem Format nichts ändern, da es vorgegeben ist?)PhantomWorks hat geschrieben: Für meine Ausgabe in ein neues XML-Dokument (das ich jetzt übrigens mit lxml erstelle, danke an das Forum!!) benötige ich diesen mehrzeiligen String jedoch in dieser Form:
<yy:neueAdresse>Hans Meier, Taubenweg 38, 12345 Musterstadt, Deutschland</yy:neueAdresse>
Imho bringt es ja nix XML (oder irgend ein anderes strukturierendes Format) einzusetzen und dann darin die Elemente nicht zu schachteln. Also wenn Du das Format beeinflussen kannst, nutze doch XML-Tags.