Gå til innhold

Anbefalte innlegg

Skrevet

Hei,

Jeg sliter med bruk av nordiske karakterer i filsti ved åpning av fil:

 

Eksempel:

 

import pandas as pd

 

filNavn = u'C:\\kataløg\\fil.csv'

oFil = pd.read_csv(filNavn)

 

IOError: File C:\katal├ÿg\fil.csv does not exist

 

Selv om print viser ø:

print fil
c:\kataløg\fil.csv

 

Noen gode forslag?

Videoannonse
Annonse
Skrevet

Du bruker Python 2,og file vil lese med ASCII-tegnsett.

Bruk # -*- coding: UTF-8 -*-  for og lese file i UTF-8-tegnsett.

# -*- coding: UTF-8 -*-
import pandas as pd

fname = u'C:/kataløg/fil.csv'
df = pd.read_csv(fname, encoding='utf-8', sep=',', header=0)
print df.head()

Du bør prøve og unngå og bruke nordiske karakterer i folder/filename.

Python 3 bruker UTF-8 som default tegnsett.

 

 

Skrevet

Tusen takk for svar!

 

Det ser dessverre ikke ut til å fungere, jeg får fortsatt denne feilen:

 

IOError: File [...] does not exist

 

der "Ø" i feilmeldingen vises som "├ÿ"

 

Skulle gjerne endret filstien, men henter fra andres filområde, så den muligheten har jeg ikke. Men

 

print fname

 

viser stringen korrekt med "Ø".

Skrevet

Har du prøvd å bruke Python 3 istedet for python 2?

Nei, har ikke forsøkt det. Jeg bruker det i jobbsammenheng, og akkurat nå ser det ut til at jeg må leve med den versjonen jeg har.

Skrevet

Husk at # -*- coding: UTF-8 -*- må være på linje 1,for og fungere.

Her en test hvor jeg lager samme mappe navn.

# -*- coding: UTF_8 -*-
import sys
import pandas as pd

print '-----'
fname = u'C:/kataløg/fil.csv'
print fname
print pd.__version__
print sys.version
print '-----'
df = pd.read_csv(fname, encoding='utf-8', sep=',')
print df.head()

Output:

-----
C:/kataløg/fil.csv
0.14.1
2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)]
-----
  firstname lastname            address    Col4    Col5
0      Dick    Trace   1313 mockingbird   test5   test1
Nei, har ikke forsøkt det. Jeg bruker det i jobbsammenheng

 

Mange steder er jo trege med oppdatere til nyere versjoner,og det kan lage noe krøll.

Pandas nyeste versjon er 0.16.2,og man burde komme seg opp til Python 2.7.

  • 2 uker senere...
Skrevet

Nå vet jeg ikke hva slags encoding filsystemet ditt bruker, men funker det hvis du prøver? :

filNavn = u'C:\\kataløg\\fil.csv'
oFil = pd.read_csv(filNavn.encode("iso-8859-1"))

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...