Python:os.listdir的IOError - 文件存在但找不到

时间:2015-11-06 10:33:26

标签: python file csv for-loop file-writing

我有一个目录,其中包含一些我想要使用的csv个文件,所有文件都名为file_n.csvn的范围是1到50.它们包含float个值,有一个标题,并已由另一个脚本生成。它们保存在特定目录中:C:\Users\MyName\Desktop\Loading_Maps

我想一个接一个地打开它们来执行一些计算。为此,我写了以下内容:

    directoryPath=raw_input('Directory for csv files: ')
    for file in os.listdir(directoryPath):
        if file.endswith(".csv"):
            filelabel=file[:-4]
            x=numpy.genfromtxt(file,delimiter=',')[:,2] 
            #do stuff

当被问到时,我从shell输入directoryPath,并为其分配C:\Users\MyName\Desktop\Loading_Maps

然后我收到错误:IOError: file_1.csv not found

为什么会发生这种情况?为什么会抛出错误,但是它成功找出了指定目录中第一个文件的名称?

非常欢迎替代解决方案。谢谢!

编辑csvintIndexError Traceback (most recent call last) c:\users\france~1\appdata\local\temp\tmpcwygvc.py in <module>() 5 if file.endswith(".csv"): 6 filelabel=file[:-4] ----> 7 x=numpy.genfromtxt(os.path.join(directoryPath, file),delimiter=',')[0] IndexError: too many indices for array 个文件的错误堆栈,其中<CustomOpenCVJavaCameraView android:layout_width="fill_parent" android:layout_height="fill_parent" /> 值为dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_UTILITY.value), 0)) { var ip = "163.289.2." + "\(i)" let foundThisOne = Ping.getIPAddress(ip) dispatch_async(serialQueue) { if !resultFound { resultFound = foundThisOne numProcessed++ if resultFound { completion(existingIP:ip) } else if numProcessed == 256 { completion(existingIP: nil) } } } } } 。{/}

camera2

1 个答案:

答案 0 :(得分:2)

试试这个

import os
directoryPath=raw_input('Directory for csv files: ')
for file in os.listdir(directoryPath):
    if file.endswith(".csv"):
        filelabel=file[:-4]
        strPath = os.path.join(directoryPath, file)
        x=numpy.genfromtxt(strPath, delimiter=',')
        ans = x[:,2]