2015-10-16 101 views
-1

我需要制作一个脚本,在目录的每个文件夹中执行一次脚本。在每个文件夹中执行一次脚本

脚本的问题:

f = open('OrderEXAMPLE.txt', 'r') 
data = f.readlines() 
mystr = ",".join([line.strip() for line in data]) 
with open('CSV.csv', 'w') as f2: 
f2.write(mystr) 

有了这个脚本,它改变成CSV格式的客户数据的列表。

每个订单表单都有自己的文件夹,所以我的初衷是将相同的脚本放入每个文件夹。从那里写下另一个脚本,它可以同时执行每个脚本。

文件夹结构是如下所示:

Order_forms

--Order_123

----- Order_form

--Order_124

----- Order_form

python的业余爱好者,所以建议是必要的,赞赏iated。

+0

相反,只需遍历每个文件夹并随时写入csv数据即可。使用'os.walk()'。 –

+0

@BobDylan你能告诉我一个例子吗?或指向我的链接? – SammyChristoff

+0

[os.walk()](https://docs.python.org/2/library/os.html#os.walk) –

回答

0

只需使用一个脚本来浏览目录结构。这将为名为<original_filename>_CSV.csv的每个文件编写一个单独的CSV。如果没有更清晰的期望输出,也不知道数据是什么样的,我无法再提供更多帮助。无论你需要什么,你都应该可以调整它。

import os 

parent_folder = 'Order_forms' 
for root, dirs, files in os.walk(parent_folder): 
    for f in files: 
     with open(os.path.join(root, f), 'r') as f1: 
      data = f1.readlines() 
      mystr = ",".join([line.strip() for line in data]) 
      with open(os.path.join(root, '{}_CSV.csv'.format(f)), 'w') as f2: 
       f2.write(mystr) 
+0

我只是尝试不同的事情来达到我想要的结果。感谢您的意见! – SammyChristoff

+0

@SammyChristoff如果这是有帮助的,请注意它(反之,如果不是,请降低它的值,最好解释原因)。如果它解决了问题,接受它作为答案,以便其他人不会浪费任何时间。 –

相关问题