eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPython: pliki tekstowe - różne kodowanie › Python: pliki tekstowe - różne kodowanie
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.wp.pl!not-for-mail
    From: "didi" <d...@d...com>
    Newsgroups: pl.comp.programming
    Subject: Python: pliki tekstowe - różne kodowanie
    Date: Thu, 2 Jul 2009 11:46:35 +0200
    Organization: Wirtualna Polska S.A. http://www.wp.pl
    Lines: 38
    Sender: w...@e...internetdsl.tpnet.pl
    Message-ID: <h2hvke$456$1@news.wp.pl>
    NNTP-Posting-Host: ent98.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Trace: news.wp.pl 1246527950 4262 83.15.205.98 (2 Jul 2009 09:45:50 GMT)
    X-Complaints-To: a...@w...pl
    NNTP-Posting-Date: Thu, 2 Jul 2009 09:45:50 +0000 (UTC)
    X-Organization-Notice: Organization line has been filtered
    X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049
    X-Newsreader: Microsoft Windows Mail 6.0.6001.18000
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Original-Organization: Wirtualna Polska S.A. http://www.wp.pl
    Xref: news-archive.icm.edu.pl pl.comp.programming:182484
    [ ukryj nagłówki ]

    witam, poszło również na pl.comp.lang.python, ale tam jakby mniejszy ruch
    jest...

    mam kilkaset plików tekstowych, które muszę połączyć w jeden plik, usuwając
    wcześniej określone linie i dokonując zmian w poszczególnych polach w
    tekście (taka forma tekstowej bazy danych).

    Na początku zająłem się usuwaniem samych linii:

    outfile=open("name.txt",'w')
    for file in filenames:
    text=open(file)
    lines=text.readlines()
    outfile.writelines(lines[3:]) #zapisz wszystkie linie począwszy od
    3-ciej
    text.close
    outfile.close


    I problem jaki napotkałem to UnicodeDecodeError: 'charmap' codec can't
    decode byte ... in position ...:character mapt to <undifined>

    czyli wg mnie w jednym z plików pojawiło się inne kodowanie niż standardowe.
    Stąd program się wykrzaczył. Nie potrafię określić, jakiego rodzaju
    kodowanie pojawi się w plikach wejściowych, nie jest to zależne ode mnie.


    Kombinowałem z text=open(file,'rb') a następnie jakiś split('\r\n'), żeby
    uzyskać podział na linie i jednocześnie uniezależnić się od kodowania.
    Niestety za każdym razem dostawałem komunikat o braku możliwości użycia
    funkcji operujących na stringu na buforze API.

    Jakaś podpowiedź koledzy?


    --
    didi

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: