繁体   English   中英

Python 错误“FileNotFoundError: [Errno 2] File b Usuarios.csv' 不存在: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 文件所在目录的权限。 在这种情况下,您可以修改脚本以接受命令行参数,如果没有,则默认为您已有的路径,如下所示:

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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM