[目前,我正在尝试使用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在当前目录(无论可能在哪里)中查找以加载文件。当前目录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 是这样的平台。
您当前的猜测是正确的:将文件放在测试代码目录中,或将python指向正确的路径。
[从不包含文件的目录中运行Python脚本时,您会遇到此错误。
听起来很容易解决,请将CSV文件与.PY文件放在同一文件夹中。但是,当您在像VSCode这样的IDE下运行时,当执行python文件时,命令输出可能会csv
到另一个目录。
cd
看看我的状态如何,第一个命令是:cd'c:\ git \ awesome';
然后执行python文件:'c:\ git \ Project \ ReadCSV.py'
因此,它期望CSV文件位于'c:\ git \ awesome'中。
要解决此问题,请使用完整的文件名或CD到包含您要读取的CSV文件的目录。
重新命名您的文件夹。这对我有用。