在python中读取csv文件时出现错误“没有这样的文件或目录”

问题描述 投票:5回答:4

[目前,我正在尝试使用python中的csv模块读取csv文件。当我运行下面的代码时,我得到一个错误,指出该文件不存在。我的第一个猜测是,可能我将文件保存在错误的位置,或者需要为pyton提供文件路径。目前,我已将文件保存在C:\ Documents and Settings \ eag29278 \ My Documents \ python测试代码\ test_satdata.csv中。

一侧说明,请确保将模式设置为'rb'(读取二进制)是正确的做法。

import csv
with open('test_satdata.csv', 'rb') as csvfile:
    satreader = csv.reader(csvfile, delimiter=' ', lineterminator=" ")
    for row in satreader:
        print ', '.join(row)

这里是错误代码。

Traceback (most recent call last):
File "C:/Python27/test code/test csv parse.py", line 2, in <module>
    with open('test_satdata.csv', 'rb') as csvfile:
IOError: [Errno 2] No such file or directory: 'test_satdata.csv'
python csv filepath
4个回答
5
投票

您的代码正在使用相对路径; python在当前目录(无论可能在哪里)中查找以加载文件。当前目录is的内容取决于您启动Python脚本的方式以及是否执行了可能更改了当前工作目录的任何代码。

改为使用完整的绝对路径:

path = r'C:\Documents and Settings\eag29278\My Documents\python test code\test_satdata.csv'
with open(path, 'rb') as csvfile:

使用'rb'是完全正确的,csv module建议您这样做:

如果csvfile是文件对象,则必须在有区别的平台上使用“ b”标志打开它。

Windows 这样的平台。


0
投票

您当前的猜测是正确的:将文件放在测试代码目录中,或将python指向正确的路径。


0
投票

[从不包含文件的目录中运行Python脚本时,您会遇到此错误。

听起来很容易解决,请将CSV文件与.PY文件放在同一文件夹中。但是,当您在像VSCode这样的IDE下运行时,当执行python文件时,命令输出可能会csv到另一个目录。

cd

看看我的状态如何,第一个命令是:cd'c:\ git \ awesome';

然后执行python文件:'c:\ git \ Project \ ReadCSV.py'

因此,它期望CSV文件位于'c:\ git \ awesome'中。

要解决此问题,请使用完整的文件名或CD到包含您要读取的CSV文件的目录。


-2
投票

重新命名您的文件夹。这对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.