Seite 1 von 1
Zeichenketten zerlegen mit python
Verfasst: Mittwoch 5. Oktober 2005, 21:45
von THingK
Hi, ...
Wie kann ich in python Zeichenketten zelegen und wieder zusammensetzen,
so wie es für cvs-Format notwendig ist?
Folgendes Problem:
# aus
12345123456781234567890123456123456789
# mach
12345;12345678;1234567890;123456;123456789
so heißen:
a= substr(string,1,5)
b= substr(string,6,8)
c= substr(string,14,10)
d= substr(string,24,6)
e= substr(string,30,9)
f = a + ';' + b + ';' + c + ';' + d + ';' + e
Das geht ja leider so nicht.
Danke!
Edit (Leonidas): Thread verschoben.
Verfasst: Donnerstag 6. Oktober 2005, 00:31
von BlackJack
Substrings bekommt man in Python mit der "Slice"-Syntax: `string[start:end]` wobei `start` der Index des ersten Zeichens beginnend mit 0 für das erste Zeichen einer Zeichenkette ist, und `end` der Index des ersten Zeichens, das *nicht* mehr enthalten sein soll.
Dein Problem kann man so angehen:
Code: Alles auswählen
import sys
import csv
data = '12345123456781234567890123456123456789'
positions = ((0, 5), (5, 8), (13, 10), (23, 6), (29, 9))
fields = [data[start:start+length] for start, length in positions]
# Simple solution:
print ';'.join(fields)
# Safer solution:
writer = csv.writer(sys.stdout, delimiter=';')
writer.writerow(fields)
Für das Zusammenfügen habe ich zwei Lösungen geschrieben. Die erste ist die Einfacherere, die zweite die Sicherere die das `csv` Modul benutzt. Die funktioniert auch dann, wenn das Semikolon in `data` vorkommt.
Zeichenketten zerlegen
Verfasst: Donnerstag 6. Oktober 2005, 22:02
von THingK
Danke für die schnelle Antwort !!!
Da ich noch nicht erkannt habe, wie python "denkt", nun meine neue Frage:
Wo erlese ich mir die Grundlagen (Paradigmen) der Sprachsysntax-Zusammenhänge am besten?
Mein Lehrbuch ist von Michael Weigert / 2. Auflage / Objektorientierte Programmierung mit Python / mitp-Verlag.
Re: Zeichenketten zerlegen
Verfasst: Freitag 7. Oktober 2005, 12:20
von Leonidas
THingK hat geschrieben:Wo erlese ich mir die Grundlagen (Paradigmen) der Sprachsysntax-Zusammenhänge am besten?
Mein Lehrbuch ist von Michael Weigert / 2. Auflage / Objektorientierte Programmierung mit Python / mitp-Verlag.
Ja, lies das durch (mawe würde sicher sagen: gute Wahl), schreibe viele Wegwerf-Programme, dann bekommst du ein Gefühl wie man mit Python arbeitet.