python - 如何遍历目录中的文件?

标签 python file iteration

我已经阅读了其他答案,但似乎我仍然在某个地方犯了错误。

我想处理给定目录中的所有 csv 文件。

def main(): 
    data = []

    for root, dir, files in os.walk('/Users/me/Documents/ssbm csv/ssbm_stats/'):

        for name in files:

            # only csv files
            if name.endswith(".csv"):

                csvpath = os.path.join(root, name)
                c = csv.reader(csvpath)
                print "processing:", csvpath

                games = makeT(c)

它运行了,但做了错误的事情。它不会使用 csv.reader() 打开 csv 文件。

def makeT(csvfile):
    for row in csvfile:
        print csvfile
        print row
        print len(row)

输出:

<_csv.reader object at 0x10d3ecde0>
['/']
1

长度错误。 csv 文件的任何部分都没有斜杠字符;所以我认为它可能会用文件名做一些事情。我真的不明白为什么它没有正确传递文件。

知道如何将文件名传递给 csv.reader() 吗?

最佳答案

您需要将实际打开的文件传递给csv.reader

with open(csvpath, 'rb') as csvfile:
    c = csv.reader(csvfile)
    ...

关于python - 如何遍历目录中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27431127/

相关文章:

Python 对象作用域问题

python - Azure Flask Web 应用程序中的 Postgres

python - 'QuerySet' 从 Django 1.4 到 1.7 的变化

c++ - 如何从 C++ 文件中提取数据?

linux - 在很短的时间内连接非常大(~TByte)的文件

c# - 什么时候使用哪个?

python - 'if not data: break' 是什么意思?

C编程: Error printing last line from an input file

actionscript-3 - For-Each 循环 AS3 : Is the direction guaranteed?

r - 在R中,如何真正快速地遍历数据帧的行?