这里是我的代码的全部,我试图调试它,但它似乎我不能做任何阅读文件,而使用os.walk 。问题在于,如果没有改变目录,我遇到了一个'out.csv'找不到的错误,所以我放入一个chdir(),移动到该目录来读取该文件,但现在它只会读取一个文件。我的估计是应该有300多个这些文件。所以它似乎在我放入chdir()后读取第一个文件后停止。os.walk和读取文件,有一些步行路径的问题
#! /usr/bin/env python
import csv, os
current = os.curdir
filescntd = 0
avg = 0
for root, dirs, files in os.walk('ARCIVE'):
for file in files:
base, ext = os.path.splitext(file)
if ('csv' in ext):
os.chdir(root)
print root
f = csv.reader(open('out.csv','rb'))
count = 0
for row in f:
if (count >= 6 and count <= 10):
tempavg = 0
for i in row:
tempavg += float(i)
filescntd += 1
tempavg /= len(row)
avg += tempavg
count += 1
os.chdir(current)
os.chdir(current)
print '---'
avg /= 5.0
print avg
输出:
ARCIVE/8-15-11/temp/29033
---
0.02775
filescntd的选择是有点误导,它是数字量平均化,并且它涉及到40
为了澄清,我想要这个程序要做的就是走这个目录树并打开扩展中包含'csv'的所有文件,并读取第6-10行,并对这些行进行平均。我在走路和打开文件时遇到问题。
我遇到的语言和信息缺乏了一点小麻烦。你能澄清你的语言,并详细说明你正在尝试做什么。 –
其python。我试图做的是让步行正确地步行目录树并找到(并打开)包含'.csv'的所有文件 – Jim
通过“澄清你的语言”,他的意思是你的英语。我和他在一起。我不知道“看起来我可以做任何改变目录”的意思。有没有人真的甚至决定使用甚至去想要做更像? – kindall