losadi Skrevet 21. juli 2015 Del Skrevet 21. juli 2015 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 filc:\kataløg\fil.csv Noen gode forslag? Lenke til kommentar
tomsi42 Skrevet 21. juli 2015 Del Skrevet 21. juli 2015 Problemet skyldes nok UTF tegnsett kontra ISO8859-1 Lenke til kommentar
snippsat Skrevet 21. juli 2015 Del Skrevet 21. juli 2015 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. Lenke til kommentar
losadi Skrevet 23. juli 2015 Forfatter Del Skrevet 23. juli 2015 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 "Ø". Lenke til kommentar
tomsi42 Skrevet 23. juli 2015 Del Skrevet 23. juli 2015 Har du prøvd å bruke Python 3 istedet for python 2? Lenke til kommentar
losadi Skrevet 23. juli 2015 Forfatter Del Skrevet 23. juli 2015 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. Lenke til kommentar
snippsat Skrevet 23. juli 2015 Del Skrevet 23. juli 2015 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. Lenke til kommentar
Visum Skrevet 3. august 2015 Del Skrevet 3. august 2015 Husk at du må bruke " # -*- coding: UTF-8 -*" i første linje for at det skal fungere. Lenke til kommentar
FraXinuS Skrevet 5. august 2015 Del Skrevet 5. august 2015 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")) Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå