Python error "FileNotFoundError: [Errno 2] File b Usuarios.csv' does not exist: b Usuarios.csv'"
Python error "FileNotFoundError: [Errno 2] File b Usuarios.csv' does not exist: b Usuarios.csv'"
我正在使用 pandas 读取 csv 文件,当我在 Spyder 上 运行 时,代码 运行 非常好,但是,当我尝试 运行在 anaconda 提示符下打开它,甚至双击 .py 文件也不会 运行。在 anaconda 提示符下,我收到 "FileNotFoundError: [Errno 2] File b Usuarios.csv' does not exist: b Usuários.csv'" 错误,即使该文件确实存在并且它与 .py 文件位于同一目录中。我正在使用此代码:
import pandas
import csv
csv_reader = pandas.read_csv("D:\clovi\Projetos\Python\Usuarios.csv",encoding='utf-8')
j=0
y = csv_reader.iloc[-1].values[0]
while True:
i=0
x = csv_reader.iloc[j].values
usuario = x[i]
i+=1
pase = x[i]
j+=1
if usuario == y:
edistribucion(usuario,pase)
break
else:
edistribucion(usuario,pase)
注意:为了读取文件,我也尝试过
import pandas as pd
import csv
csv_reader = pd.read_csv("Usuarios.csv")
.
.
.
正如我所说,当我在 Spyder 上 运行 时它 运行 很好,但在其他任何地方都不 运行。我在代码上做错了什么?
在 Spyder CLI 中输入:
import os
print(os.getcwd())
转到 Anaconda Prompt 中的结果目录:
cd path\from\Spyder\print
现在启动您的脚本。可以复制到目录或路径调用。
可能是Anaconda提示没有访问CSV文件所在目录的权限。在这种情况下,您可以修改脚本以接受命令行参数,如果有 none,则默认为您已有的路径,如下所示:
import sys
import os
import pandas
import csv
# If there is a command-line argument, and the argument is a valid file, this matches
if len(sys.argv) > 1 and os.path.exists(sys.argv[1]):
csv_path = sys.argv[1]
else:
csv_path = r'D:\clovi\Projetos\Python\Usuarios.csv'
csv_reader = pandas.read_csv(csv_path,encoding='utf-8')
j=0
y = csv_reader.iloc[-1].values[0]
while True:
i=0
x = csv_reader.iloc[j].values
usuario = x[i]
i+=1
pase = x[i]
j+=1
if usuario == y:
edistribucion(usuario,pase)
break
else:
edistribucion(usuario,pase)
您可以在不破坏代码的情况下动态更改 CSV,因此在命令行中:
# This tries to process the hard-coded CSV
python clovis_magno.py
# While this processes top_secret_data.csv in your Desktop
python clovis_magno.py "C:\Users\Clovis Magno\Desktop\top_secret_data.csv"
我正在使用 pandas 读取 csv 文件,当我在 Spyder 上 运行 时,代码 运行 非常好,但是,当我尝试 运行在 anaconda 提示符下打开它,甚至双击 .py 文件也不会 运行。在 anaconda 提示符下,我收到 "FileNotFoundError: [Errno 2] File b Usuarios.csv' does not exist: b Usuários.csv'" 错误,即使该文件确实存在并且它与 .py 文件位于同一目录中。我正在使用此代码:
import pandas
import csv
csv_reader = pandas.read_csv("D:\clovi\Projetos\Python\Usuarios.csv",encoding='utf-8')
j=0
y = csv_reader.iloc[-1].values[0]
while True:
i=0
x = csv_reader.iloc[j].values
usuario = x[i]
i+=1
pase = x[i]
j+=1
if usuario == y:
edistribucion(usuario,pase)
break
else:
edistribucion(usuario,pase)
注意:为了读取文件,我也尝试过
import pandas as pd
import csv
csv_reader = pd.read_csv("Usuarios.csv")
.
.
.
正如我所说,当我在 Spyder 上 运行 时它 运行 很好,但在其他任何地方都不 运行。我在代码上做错了什么?
在 Spyder CLI 中输入:
import os
print(os.getcwd())
转到 Anaconda Prompt 中的结果目录:
cd path\from\Spyder\print
现在启动您的脚本。可以复制到目录或路径调用。
可能是Anaconda提示没有访问CSV文件所在目录的权限。在这种情况下,您可以修改脚本以接受命令行参数,如果有 none,则默认为您已有的路径,如下所示:
import sys
import os
import pandas
import csv
# If there is a command-line argument, and the argument is a valid file, this matches
if len(sys.argv) > 1 and os.path.exists(sys.argv[1]):
csv_path = sys.argv[1]
else:
csv_path = r'D:\clovi\Projetos\Python\Usuarios.csv'
csv_reader = pandas.read_csv(csv_path,encoding='utf-8')
j=0
y = csv_reader.iloc[-1].values[0]
while True:
i=0
x = csv_reader.iloc[j].values
usuario = x[i]
i+=1
pase = x[i]
j+=1
if usuario == y:
edistribucion(usuario,pase)
break
else:
edistribucion(usuario,pase)
您可以在不破坏代码的情况下动态更改 CSV,因此在命令行中:
# This tries to process the hard-coded CSV
python clovis_magno.py
# While this processes top_secret_data.csv in your Desktop
python clovis_magno.py "C:\Users\Clovis Magno\Desktop\top_secret_data.csv"