pandas.read_csv FileNotFoundError: File b'\xe2\x80\xaa<etc>' despite correct path
pandas.read_csv FileNotFoundError: File b'\xe2\x80\xaa<etc>' despite correct path
我尝试使用 pd.read_csv()
函数加载 .csv
文件时遇到错误,尽管文件路径正确且使用原始字符串。
import pandas as pd
df = pd.read_csv('C:\Users\user\Desktop\datafile.csv')
df = pd.read_csv(r'C:\Users\user\Desktop\datafile.csv')
df = pd.read_csv('C:/Users/user/Desktop/datafile.csv')
全部给出以下错误:
FileNotFoundError: File b'\xe2\x80\xaaC:/Users/user/Desktop/tutorial.csv' (or the relevant path) does not exist.
只有当我将文件复制到工作目录时,它才能正确加载。
有人知道可能导致错误的原因吗?
我之前使用完整文件路径加载其他数据集没有任何问题,我目前只是遇到问题,因为我重新安装了 python(通过 Anaconda 软件包安装程序)。
编辑:
我找到了导致问题的原因。
当我从文件属性 window 复制文件路径时,我无意中复制了另一个似乎不可见的字符。
分配复制的 string
也会给出 unicode 错误。
删除那个不可见的字符会使上述任何代码都起作用。
尝试使用 os.path.join
创建文件路径:
import os
f_path = os.path.join(*['C:', 'Users', 'user', 'Desktop', 'datafile.csv'])
df = pd.read_csv(f_path)
$10 表示您的文件路径相对于 .py 文件的位置是正确的,但相对于您调用 python
的位置不正确
例如,假设 script.py 位于 ~/script/,而 file.csv 位于 ~/.假设 script.py 包含
import pandas
df = pandas.read_csv('../file.csv') # correct path from ~/script/ where script.py resides
如果来自 ~/ 你 运行 python script/script.py
,你将得到 FileNotFound 错误。但是,如果来自 ~/script/ 你 运行 python script.py
,它将起作用。
试试这个,看看它是否有效。这与您提供的路径无关。
pd.read_csv(r'C:\Users\aiLab\Desktop\example.csv')
这里的r
是一个特殊字符,表示原始字符串。所以把它作为你的字符串文字的前缀。
https://www.journaldev.com/23598/python-raw-string:
Python raw string is created by prefixing a string literal with ‘r’
or ‘R’. Python raw string treats backslash () as a literal character.
This is useful when we want to have a string that contains backslash
and don’t want it to be treated as an escape character.
我知道以下是一个愚蠢的错误,但这可能是您的文件的问题。
我已将文件从 adfa123
手动重命名为 abc.csv
。文件扩展名被隐藏,重命名后,Actual File name 变成abc.csv.csv
。然后我从名称中删除了额外的 .csv
,一切都很好。
希望对大家有帮助。
import pandas as pd
path1 = 'C:\Users\Dell\Desktop\Data\Train_SU63ISt.csv'
path2 = 'C:\Users\Dell\Desktop\Data\Test_0qrQsBZ.csv'
df1 = pd.read_csv(path1)
df2 = pd.read_csv(path2)
print(df1)
print(df2)
我试图从我的“c:\”驱动器中的文件夹中读取 csv
文件,但是,它引发了 escape,type error, unicode
的错误......因此但是这段代码有效
只需取一个变量然后添加 r 即可读取它。
rank = pd.read_csv (r'C:\Users\DELL\Desktop\datasets\iris.csv')
df=pd.DataFrame(rank)
还有一个问题是如何删除那些看似不可见的字符。
我的解决方案是从文件 windows 而不是 属性 windows.
复制文件路径
没问题,只是您应该填写文件路径。
遇到了同样的问题。路径是正确的。
更改文件名似乎可以解决问题。
旧文件名:2017/2018 赛季 Premier League.csv
新文件名:test.csv
可能是空格或“/”
如果您使用的是windows机器。尝试检查文件扩展名。
文件保存为 fileName.csv.txt 而不是 fileName.csv 的可能性很高
您可以通过选择文件夹选项下的文件扩展名复选框来检查这一点(请查找屏幕截图)
以下代码对我有用:
import pandas as pd
df = pd.read_csv(r"C:\Users\vj_sr\Desktop\VJS\PyLearn\DataFiles\weather_data.csv");
如果fileName.csv.txt,rename/correct就fileName.csv
windows 10 screen shot
希望它有效,
祝你好运
在 Windows 系统上,您应该尝试使用 os.path.normcase
。
规范路径名的大小写。在 Unix 和 Mac OS X 上,此 returns 路径不变;在不区分大小写的文件系统上,它将路径转换为小写。在 Windows 上,它还将正斜杠转换为反斜杠。如果路径类型不是 str 或 bytes(直接或间接通过 os.PathLike 接口),则引发 TypeError。
import os
import pandas as pd
script_dir = os.getcwd()
file = 'example_file.csv'
data = pd.read_csv(os.path.normcase(os.path.join(script_dir, file)))
当 运行 具有 Visual studio 提供的交互功能的文件时,我遇到了同样的问题。在本机命令行上切换到 运行,它对我有用。
对于我的特殊问题,未能正确加载文件是由于我从 windows 中的文件属性的安全选项卡复制文件路径时引入的 "invisible" 字符。
这个字符是e2 80 aa
,U+202A的UTF-8编码,从左到右的嵌入符号。当您找到字符(字符串中最左边的字符)时,可以通过擦除(按退格键或删除)轻松删除它。
注:我之所以选择回答是因为这里的答案并没有回答我的问题,而且我相信一些人(如评论中所见)可能会遇到与我相同的情况。由于我没有将此问题标记为已解决,因此似乎时不时会有新的答案。
data = pd.read_csv('C:\Users\username\Python\mydata.csv')
这对我有用。请注意 "C:\" 中的双“\\”,其余文件夹仅使用一个“\”。
我在使用 JupyterLab + Anaconda 时遇到了类似的问题,并使用我的浏览器在 IDE 上输入内容。
我的问题比较简单 - 有一个非常细微的拼写错误。我不必使用原始文本 - 转义或使用 {{r}} 字符串对我有用:)。如果您将 Anaconda 与 Jupyter Lab 一起使用,我相信内核从您打开笔记本的位置开始,即工作目录是顶级文件夹。
我尝试使用 pd.read_csv()
函数加载 .csv
文件时遇到错误,尽管文件路径正确且使用原始字符串。
import pandas as pd
df = pd.read_csv('C:\Users\user\Desktop\datafile.csv')
df = pd.read_csv(r'C:\Users\user\Desktop\datafile.csv')
df = pd.read_csv('C:/Users/user/Desktop/datafile.csv')
全部给出以下错误:
FileNotFoundError: File b'\xe2\x80\xaaC:/Users/user/Desktop/tutorial.csv' (or the relevant path) does not exist.
只有当我将文件复制到工作目录时,它才能正确加载。
有人知道可能导致错误的原因吗?
我之前使用完整文件路径加载其他数据集没有任何问题,我目前只是遇到问题,因为我重新安装了 python(通过 Anaconda 软件包安装程序)。
编辑:
我找到了导致问题的原因。
当我从文件属性 window 复制文件路径时,我无意中复制了另一个似乎不可见的字符。
分配复制的 string
也会给出 unicode 错误。
删除那个不可见的字符会使上述任何代码都起作用。
尝试使用 os.path.join
创建文件路径:
import os
f_path = os.path.join(*['C:', 'Users', 'user', 'Desktop', 'datafile.csv'])
df = pd.read_csv(f_path)
$10 表示您的文件路径相对于 .py 文件的位置是正确的,但相对于您调用 python
的位置不正确例如,假设 script.py 位于 ~/script/,而 file.csv 位于 ~/.假设 script.py 包含
import pandas
df = pandas.read_csv('../file.csv') # correct path from ~/script/ where script.py resides
如果来自 ~/ 你 运行 python script/script.py
,你将得到 FileNotFound 错误。但是,如果来自 ~/script/ 你 运行 python script.py
,它将起作用。
试试这个,看看它是否有效。这与您提供的路径无关。
pd.read_csv(r'C:\Users\aiLab\Desktop\example.csv')
这里的r
是一个特殊字符,表示原始字符串。所以把它作为你的字符串文字的前缀。
https://www.journaldev.com/23598/python-raw-string:
Python raw string is created by prefixing a string literal with ‘r’ or ‘R’. Python raw string treats backslash () as a literal character. This is useful when we want to have a string that contains backslash and don’t want it to be treated as an escape character.
我知道以下是一个愚蠢的错误,但这可能是您的文件的问题。
我已将文件从 adfa123
手动重命名为 abc.csv
。文件扩展名被隐藏,重命名后,Actual File name 变成abc.csv.csv
。然后我从名称中删除了额外的 .csv
,一切都很好。
希望对大家有帮助。
import pandas as pd
path1 = 'C:\Users\Dell\Desktop\Data\Train_SU63ISt.csv'
path2 = 'C:\Users\Dell\Desktop\Data\Test_0qrQsBZ.csv'
df1 = pd.read_csv(path1)
df2 = pd.read_csv(path2)
print(df1)
print(df2)
我试图从我的“c:\”驱动器中的文件夹中读取 csv
文件,但是,它引发了 escape,type error, unicode
的错误......因此但是这段代码有效
只需取一个变量然后添加 r 即可读取它。
rank = pd.read_csv (r'C:\Users\DELL\Desktop\datasets\iris.csv')
df=pd.DataFrame(rank)
还有一个问题是如何删除那些看似不可见的字符。
我的解决方案是从文件 windows 而不是 属性 windows.
复制文件路径没问题,只是您应该填写文件路径。
遇到了同样的问题。路径是正确的。 更改文件名似乎可以解决问题。
旧文件名:2017/2018 赛季 Premier League.csv 新文件名:test.csv
可能是空格或“/”
如果您使用的是windows机器。尝试检查文件扩展名。 文件保存为 fileName.csv.txt 而不是 fileName.csv 的可能性很高 您可以通过选择文件夹选项下的文件扩展名复选框来检查这一点(请查找屏幕截图)
以下代码对我有用:
import pandas as pd
df = pd.read_csv(r"C:\Users\vj_sr\Desktop\VJS\PyLearn\DataFiles\weather_data.csv");
如果fileName.csv.txt,rename/correct就fileName.csv
windows 10 screen shot
希望它有效, 祝你好运
在 Windows 系统上,您应该尝试使用 os.path.normcase
。
规范路径名的大小写。在 Unix 和 Mac OS X 上,此 returns 路径不变;在不区分大小写的文件系统上,它将路径转换为小写。在 Windows 上,它还将正斜杠转换为反斜杠。如果路径类型不是 str 或 bytes(直接或间接通过 os.PathLike 接口),则引发 TypeError。
import os
import pandas as pd
script_dir = os.getcwd()
file = 'example_file.csv'
data = pd.read_csv(os.path.normcase(os.path.join(script_dir, file)))
当 运行 具有 Visual studio 提供的交互功能的文件时,我遇到了同样的问题。在本机命令行上切换到 运行,它对我有用。
对于我的特殊问题,未能正确加载文件是由于我从 windows 中的文件属性的安全选项卡复制文件路径时引入的 "invisible" 字符。
这个字符是e2 80 aa
,U+202A的UTF-8编码,从左到右的嵌入符号。当您找到字符(字符串中最左边的字符)时,可以通过擦除(按退格键或删除)轻松删除它。
注:我之所以选择回答是因为这里的答案并没有回答我的问题,而且我相信一些人(如评论中所见)可能会遇到与我相同的情况。由于我没有将此问题标记为已解决,因此似乎时不时会有新的答案。
data = pd.read_csv('C:\Users\username\Python\mydata.csv')
这对我有用。请注意 "C:\" 中的双“\\”,其余文件夹仅使用一个“\”。
我在使用 JupyterLab + Anaconda 时遇到了类似的问题,并使用我的浏览器在 IDE 上输入内容。
我的问题比较简单 - 有一个非常细微的拼写错误。我不必使用原始文本 - 转义或使用 {{r}} 字符串对我有用:)。如果您将 Anaconda 与 Jupyter Lab 一起使用,我相信内核从您打开笔记本的位置开始,即工作目录是顶级文件夹。