pandas: oserror with accent/special character in file path and file name

前端 未结 3 508
春和景丽
春和景丽 2020-12-22 05:25

I am trying to use pandas.read_csv to get data from some .csv files. This works fine as long as there is no accent (e.g. ä,é,ü) in the file name or file path. A

相关标签:
3条回答
  • 2020-12-22 05:59

    The issue hasn't been resolved till now. Wait till a PR. Or try it with Python 2.7 I guess that might work

    0 讨论(0)
  • 2020-12-22 06:06

    I tested the name in creating a fake file 'düm1.csv'.

    when I run :

    df = pd.read_csv('düm1.csv',sep=';')
    

    I haven't an OSError and the file is open in my Ipython.

       Unnamed: 0  test1  test2  test3  tes4
    0         NaN    1.0    2.0    3.0   4.0
    1         NaN    NaN    NaN    NaN   NaN
    2         NaN    NaN    NaN    NaN   NaN
    3         NaN    NaN    NaN    NaN   NaN
    4         NaN    NaN    NaN    NaN   NaN
    

    Have you tried without encoding ? Without accent ?

    C.

    0 讨论(0)
  • 2020-12-22 06:14

    I had a similar problem. It's look like the problem occurs with pandas.read_csv with Python 3.6 in a Windows system.

    Python 3.6 change Windows filesystem encoding from "mbcs" to "UTF-8". See Python PEP 529. You can use the command sys.getfilesystemencoding() to get the current file system encoding

    I get two solutions around this:

    1.- Use this code to change all the app to works with the prior Python <= 3.5 encoding ("mbcs")

    import sys
    sys._enablelegacywindowsfsencoding()
    

    2.- Pass a file pointer to the pandas.read_csv

    with open("C:\Users\MyName\Desktop\dumm12\düm1.csv", 'r') as fp:
            dum1 = pd.read_csv(fp, sep = ";", decimal = ",", encoding = "utf-8")
    

    You can see this post: pandas.read_csv can't import file with accent mark in path

    0 讨论(0)
提交回复
热议问题