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
:P 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.