在python中读取csv文件时发生IO错误
我有以下代码:在python中读取csv文件时发生IO错误,python,csv,Python,Csv,我有以下代码: for file in os.listdir('/home/sainik/Final/'+str(folderno)): if file.endswith('.csv'): print file with open(file,'rb') as csvfile: spamreader = csv.reader(csvfile) for row in spa
for file in os.listdir('/home/sainik/Final/'+str(folderno)):
if file.endswith('.csv'):
print file
with open(file,'rb') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
print row
运行代码时,出现以下错误:
Traceback (most recent call last):
File "/home/sainik/Final/Programs/sainik.py", line 28, in <module>
with open(file,'rb') as csvfile:
IOError: [Errno 2] No such file or directory: '4.csv'
回溯(最近一次呼叫最后一次):
文件“/home/sainik/Final/Programs/sainik.py”,第28行,在
打开(文件,'rb')作为csvfile时:
IOError:[Errno 2]没有这样的文件或目录:“4.csv”
请提供帮助。您正试图从运行脚本的路径打开文件 您应该尝试打开完整路径
with open('/home/sainik/Final/' + file)
您的脚本正在查看自己的目录中的文件
4.csv
。
试着这样做:
for file in os.listdir('/home/sainik/Final/'+str(folderno)):
if file.endswith('.csv'):
print file
with open(/home/sainik/Final/'+str(folderno)+'\/'+file,'rb') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
print row
您只传递open函数的文件名。您应该向open函数传递路径。将文件路径传递给open函数的两种可能方法,即相对路径或完整路径 尝试:
with open( os.path.join('/home/sainik/Final/',str(folderno),file),'rb') as csvfile: