Polskie znaki w CSV z Excela wyglądają jak krzaczki

JackStackAutor

Wczytuję plik CSV z Excela i zamiast "Łódź" mam "£ód¿" albo błąd UnicodeDecodeError.

3

Komentarze 5

Zaloguj się, żeby dołączyć do dyskusji.

Zaloguj się Załóż konto
  1. ElaKowalskaodpowiedzi: 1

    Polski Excel często zapisuje CSV w kodowaniu Windows-1250. Spróbuj:

    open("dane.csv", encoding="cp1250")

    Jeśli zapisujesz jako "CSV UTF-8", użyj encoding="utf-8-sig".

    6
    1. JackStackAutor

      cp1250 pomogło, Łódź wygląda jak Łódź 😄

      2
    2. HenryWritesodpowiedzi: 1

      Druga pułapka: polski Excel używa średnika jako separatora. W module csv: csv.reader(f, delimiter=";").

      5
      1. JackStackAutor

        Faktycznie, wszystko lądowało w jednej kolumnie. Dzięki!

        3
      2. NoahLoops

        A liczby z przecinkiem dziesiętnym trzeba zamienić przed float(). Wyzwanie "Decimal comma" o tym jest.

        2