Stringumformatierung / Strings nach X Zeichen abschneiden

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
brasil66
User
Beiträge: 27
Registriert: Mittwoch 20. Juli 2005, 19:01
Wohnort: Braunschweig

hallo python-gemeinde!

ich habe ein ganz einfaches string-formatierungsproblem.

ich muss eine csv-datei auf eine sap-taugliche datei mit festen feldlängen umstricken, soweit kein problem und häufig gemacht(.ljust(), .rjust() .zfill() sind meine freunde!) aber jetzt kann ich mich leider nicht darauf verlassen, das in der csv-datei gelieferte felder die maximallänge des jeweiligens feldes nicht übersteigen, quasi einfach länger sind als sie dürften. und ljust() und rjust() schneiden leider die überstehenden zeichen nicht ab und somit kommen mir bei zu langen feldern meine festen feldlängen in der exportdatei durcheinander!

bisher: exportdatei.write(datensatz[xx].ljust(yy))

leider habe ich keine einfach möglichkeit gefunden einfach und unkompliziert datensätze zu kappen, so in der wünschenswerten art wie (ausgedacht) .rcut(x) oder .lcut(x) mit der ich einfach sagen könnte "nimm die ersten/letzten x zeichen und schneide den rest ab".

welche funktion habe ich übersehen? gibt es eine solche einfache funktion einfach nicht und wenn nicht wie löse ich das am unkompliziertesten?

Schonmal DANKE im voraus!!!
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

brasil66 hat geschrieben:welche funktion habe ich übersehen? gibt es eine solche einfache funktion einfach nicht und wenn nicht wie löse ich das am unkompliziertesten?
Hi!

Ja, du hast da wirklich etwas grundlegendes übersehen. :lol:

Code: Alles auswählen

s = "aabbccdd"

print s[0:2]
print s[2:4]
print s[4:6]

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Oder guck Dir mal das eingebaute csv-Modul an:

http://www.python.org/doc/2.4.2/lib/module-csv.html

Kann zwar kein Linien-Formatting (also das was Gerold Dir schon gezeigt hat), macht aber Escaping und Quoting umsonst.

--- Heiko.
brasil66
User
Beiträge: 27
Registriert: Mittwoch 20. Juli 2005, 19:01
Wohnort: Braunschweig

Danke!

Tjaja, da ist mir wohl tatsächlich das SLICING entgangen ..... wollte schon immer mal wissen wozu das gut ist :D :D
Antworten