2015-10-16 98 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如果這是有幫助的,請注意它(反之,如果不是,請降低它的值,最好解釋原因)。如果它解決了問題,接受它作爲答案,以便其他人不會浪費任何時間。 –

相關問題