[Python] Manipulação de Txt - Separar blocos com base em um padrão

Discussão em 'Python' iniciado por Stack, Dezembro 13, 2024.

  1. Stack

    Stack Membro Participativo

    Eu possuo um txt com algumas informações. O txt segue o seguinte padrão:

    1 - Inicio do bloco

    2 - Informação

    3 - Descrição da linha 2

    Então, por exemplo

    190845 3890580235203895 0329045832854880328 58908349058340534859 hjdfhgjdfhg dgfdgdf
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN
    120845 3890580235203895 0329045832854880328 58908349058340534859 hjdfhgjdfhg dgfdgdf
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN


    O que eu preciso é separar em varáveis diferentes os blocos sabendo que eles iniciam em 1 e terminam na próxima incidência de 1. O exemplo acima ficaria:

    a = '190845 3890580235203895 0329045832854880328 58908349058340534859 hjdfhgjdfhg dgfdgdf
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN'

    b = '120845 3890580235203895 0329045832854880328 58908349058340534859 hjdfhgjdfhg dgfdgdf
    22343 34234234 324234 324234234 234234 342324989856475959596
    3SHDSHFUHDSFUHSDUFHSHDFUDSFDSTTJKKHGHJMNMNBN'


    Tentei fazer combinando while + readline + startswith, mas não consegui

    Continue reading...

Compartilhe esta Página