Python错误“FileNotFoundError:[Errno 2]文件b Usuarios.csv'不存在:b Usuarios.csv'”

2024-04-18 18:23:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pandas读取csv文件,当我在Spyder上运行它时,代码运行得非常好,但是当我尝试在anaconda提示符下运行它,甚至双击.py文件时,它不会运行。在anaconda提示符下,我收到“FileNotFoundError:[Errno 2]文件b Usuarios.csv'不存在: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上运行时,它运行良好,但在其他任何地方都不会运行。我在代码上做错了什么


Tags: 文件csv代码pyimportpandasreadanaconda
2条回答

可能是Anaconda提示符没有访问CSV文件所在目录的权限。在这种情况下,您可以修改脚本以接受命令行参数,如果没有,则默认为您已有的路径,如下所示:

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"

键入Spyder CLI:

import os
print(os.getcwd())

转到Anaconda提示符中的结果目录:

cd path\from\Spyder\print

现在启动脚本。您可以将其复制到目录或按路径调用

相关问题 更多 >