我有一个奇怪的问题是我试图用来学习更多python的自动化脚本。基本上我试图做的是让python读取python脚本所在的目录(我希望最终将其转换为EXE)以使用以下命令查找所有CSV文件:
McFadden's R-Sqr
然后将所有CSV名称附加到列表中,然后使用:
os.listdir("./")
if file.endswith(".csv"):
FileName.append(file) # FileName is defined a blank list at the top
这可以打开我在使用之前定义的变量文件名,我已经测试过,而且一切似乎都有效。我需要做的是让python迭代它创建的列表并为每个文件运行相同的代码。所以我需要做一些事情:
with open(filename, newline='') as f:
reader = csv.reader(f)
doStuff()
这显然不起作用,只是想知道我是否可以将列表中的每个项目,让它运行下面的函数,然后循环回到结束。任何帮助赞赏:)。此外,列表长度也是可变的,具体取决于生成了多少CSV文件,因此我甚至无法在此实例中预先定义一堆变量。
答案 0 :(得分:1)
我相信你想要这样的东西:
for i in os.listdir():
if file.endswith(".csv"):
with open(i, newline='') as f:
reader = csv.reader(f)
doStuff()
或者如果您想先将文件放入列表中:
csv_files = []
for i in os.listdir():
if file.endswith(".csv"):
csv_files.append(i)
for i in csv_files:
with open(i, newline='') as f:
reader = csv.reader(f)
doStuff()