[Python-de] Logik-Problem mit Convert unlinear -> linear
Dinu Gherman
gherman at darwin.in-berlin.de
Do Apr 5 08:50:29 UTC 2007
js at ibcon.net:
> Hallo Leute+
>
> Folgendes: Ich habe ein unlinear aufgebautes Textfile erhalten und
> sollte dieses in ein unlineares konvertieren.
>
> Dieses sieht u.a. so aus:
>
> \1TL:A1 TOU: 1#OBJETS:656 CPT: 656#DATE CHARGE:30.
> 6.06#PERIODE: 6/06
> \2DATE RELEVE:--.--.--#RELEVEUR: --------- #A1/06.06 #
> \32610 St-Imier 00# #Temple 19 #
> \4Municipalit? # 1011905 # #
> \8Localisation: #s.-sol # #
> \5O - 005439968 00# 76 EA --------# #
> \6 !0000022200000076# # #
> \4Amstutz Roland # 11011921 #2 ?me #
> \8Localisation: #1 er # #
> \5E ED- 059101797 00# 14534 HA --------# 25615 BA --------#
> \6 !0001490900014534#0002644800025615# #
> \32610 St-Imier 00# #Temple 15 #
> \4Municipalit? #500011544 # #
> \5G B - 000869931 00# 18789 GA --------# #
> \6 !0001920400018789# # #
> \4Municipalit? #500011545 # #
> \5O - 099474627 00# 204 EA --------# #
> \6 !0000022900000204# # #
>
> Positiv: Ich hab "Zeilennummern" (die ersten 2 kann ich ignorieren),
> es scheint auch alles feste Breite zu sein und ich weiss von wo bis wo
> meine Datensätze gehen.
>
> Das Ergebnis sollte ein Textfile mit fester Breite sein, die
> Definition dazu habe ich.
>
> Mein Problem: Die Reihenfolge der Felder im Ergebnis ist anders als im
> Ursprungs-File.
>
> Meine Frage daher: Wie erstelle ich Zeilen in fester Breite und
> sortiere die Felder davor noch?
>
> lg, Jan
So ganz klar wird mir nicht, was Du genau willst, aber vielleicht
hilft das hier unten schon einmal weiter. ;-)
Gruss,
Dinu
[GCC 3.3 20030304 (Apple Computer, Inc. build 1640)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> s = """\1TL:A1 TOU: 1#OBJETS:656 CPT: 656#DATE CHARGE:30.
6.06#PERIODE: 6/06
\2DATE RELEVE:--.-... ... -.--#RELEVEUR: --------- #A1/06.06
#
\3... 2610 St-Imier 00# #Temple 19 #
\4Municipalit? # 1011905 ... # #
\8Localisation: ... #s.-sol # #
\5O ... - 005439968 00# 76 EA --------# #
\6 !0000022200000076# ... # #
\4Amstutz Roland # 11011... 921 #2 ?me #
\8Localisation: #1 er # #
\5E ED- 059101797 00# 14534 HA --------# ... ... 25615 BA
--------#
\6 !0001490900014534#0... 002644800025615# #
\32610 St-Imier 00... # #Temple 15 #
\4Municipalit? #500011544 # ... #
\5G B - 000869931 00# 18789 GA --------# #
\6 !0001920400018789# # #
\4Municipalit? #500011545 # #... ...
\5O - 099474627 00# 204 EA --------# ... #
\6 !0000022900000204# ... ... # #"""
>>>
>>> for line in sorted(s.split("\n")): print line
...
TL:A1 TOU: 1#OBJETS:656 CPT: 656#DATE CHARGE:30.
DATE RELEVE:--.--.--#RELEVEUR: --------- #A1/06.06 #
Amstutz Roland # 11011921 #2 ?me #
Municipalit? # 1011905 # #
Municipalit? #500011544 # #
Municipalit? #500011545 # #
E ED- 059101797 00# 14534 HA --------# 25615 BA --------#
G B - 000869931 00# 18789 GA --------# #
O - 005439968 00# 76 EA --------# #
O - 099474627 00# 204 EA --------# #
!0000022200000076# # #
!0000022900000204# # #
!0001490900014534#0002644800025615# #
!0001920400018789# # #
6.06#PERIODE: 6/06
\8Localisation: #1 er # #
\8Localisation: #s.-sol # #
?10 St-Imier 00# #Temple 15 #
?10 St-Imier 00# #Temple 19 #
>>>