使用os.walk无法从列表中打开文件

时间:2015-03-08 22:33:50

标签: python-2.7 os.walk

我的问题是阅读' .csv'目录中的文件并对它们进行一些计算。 我有计算工作,但我的for循环似乎不能按我的意愿工作。

d = 'F:\MArcin\Experiments\csvCollection\'
for dirname, dirs, files in os.walk(d):

    for i in files:
        if i.endswith('.csv'):
            data1 = pd.read_csv(i, sep=",")
            data = data1['x'][:, np.newaxis]
            target = data1['y']

我得到的错误是: IOError:文件1.csv不存在

文件是所有' .csv'的列表dirname中的文件

我是大小为1的str并且包含1.csv(这是目录中的第一个文件)

为什么这不起作用?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

因为1.csv位于文件系统的某个位置,当您调用read_csv()时,它会打开相对于当前目录的文件。

只需使用绝对路径打开它:

data1 = pd.read_csv(os.path.join(dirname, i), sep=",")
dirname中的

os.walk表示文件1.csv所在的实际目录。