Seite 1 von 1

Stringumformatierung / Strings nach X Zeichen abschneiden

Verfasst: Montag 23. Januar 2006, 12:01
von brasil66
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!!!

Re: Stringumformatierung / Strings nach X Zeichen abschneide

Verfasst: Montag 23. Januar 2006, 12:42
von gerold
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
:-)

Verfasst: Montag 23. Januar 2006, 13:05
von modelnine
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.

Verfasst: Dienstag 24. Januar 2006, 18:30
von brasil66
Danke!

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