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.