2

嗨,我正在就我遇到的问题寻求帮助。我想仅在某些文件类型中搜索我的数据所在的目录(如下所示)。下面是我的代码,但它不能正常工作。

当前输出是两个结果之一。要么只打印文件的第一行,要么只打印空白结果。

好的,这就是我想要做的。我想搜索仅列出 csv 文件的目录。然后我想要做的是让循环逐行读取每个文件并打印文件中的每一行,然后对其余的 csv 文件重复此操作。

谁能告诉我如何编辑下面的代码以仅搜索 CSV 文件,以及如何打印文件中的每一行,然后重复下一个 CSV 文件,直到找到并打开所有 CSV 文件。这可能吗?

import os

rootdir= 'C:\Documents and Settings\Guest\My Documents\Code'

def doWhatYouWant(line):
    print line

for subdir, dirs, files in os.walk(rootdir):
   for file in files:
        f=open(file,'r')
        lines = f.readlines()
        f.close()
        f=open(file,'wU')
        for lines in lines:
            newline=doWhatYouWant(line)
            f.write(newline)
        f.close

谢谢你的帮助。

4

1 回答 1

3

下面的代码有效。我已经评论了内联修改的内容。

import os

rootdir= 'C:\\Documents\ and\ Settings\\Guest\\My\ Documents\\Code\\' 
#use '\\' in a normal string if you mean to make it be a '\'   
#use '\ ' in a normal string if you mean to make it be a ' '   


def doWhatYouWant(line):
    print line
    return line 
    #let the function return, not only print, to get the value for use as below 


for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        f=open(rootdir+file,'r') #use the absolute URL of the file
        lines = f.readlines()
        f.close()
        f=open(file,'w') #universal mode can only be used with 'r' mode
        for line in lines:
            newline=doWhatYouWant(line)
            f.write(newline)
        f.close()
于 2013-06-22T02:05:19.937 回答