Logik-Problem mit Convert unlinear -> linear

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Logik-Problem mit Convert unlinear -> linear

js-15
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


_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de
Reply | Threaded
Open this post in threaded view
|

Re: Logik-Problem mit Convert unlinear -> linear

Lutz Horn-4
Hallo,

On Thu, 05 Apr 2007 10:14:34 +0200, [hidden email] said:
> 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.

Immerhin. Aus Deinem Beispiel kann ich das nämlich nicht erkennen :)

> 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?

Dazu kannst Du String-Formatierung verwenden:

"3.6.2 String Formatting Operations"
http://docs.python.org/lib/typesseq-strings.html

Gruß
Lutz
--
Lutz Horn <[hidden email]>
http://www.fastmail.fm/mail/?STKI=600622


_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de
Reply | Threaded
Open this post in threaded view
|

Re: Logik-Problem mit Convert unlinear -> linear

Dinu Gherman
In reply to this post by js-15
[hidden email]:

> 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           #
 >>>


_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de