2017-10-09 50 views
-3

編輯我將嘗試澄清此問題。我想製作兩個csv文件。一個帶有文字「問候」,另一個帶有文字「問候地球」。問題是我找不到一種方法來讓Python用一個寫入命令寫入多個文件。我正試圖找到一種讓事情變得更有效率的方法。嘗試使用Python對單個命令寫入多個文件

此問題被認爲是可能的重複。 write multiple files at a time但這個問題有很多部分我不明白。我試圖用一個簡單的問題來分析這個問題。

hello = open("hello.csv","w") 

world = open("world.csv","w") 

everything = ['hello','world'] 
half = ['world'] 

everything.write("Greetings") 
half.write("Earth") 

hello.close() 
world.close() 
+2

可能的複製[一次寫入多個文件](https://stackoverflow.com/questions/13798447/write-multiple-files-at-a-time) – Mel

回答

0

你不完全清楚你爲什麼試圖達到目的。

如果你需要它管理「所有的文件創建需要」你應該通過創建設置(文件名 - >內容)處理這個功能您的文件,然後只寫他們。或者,您可以標記文件並根據預設的「標記」生成其內容。

方法1是這樣的:

file_dict = {'hello.csv': 'Greetings', 'world.csv': 'Greetings earth'} 
for f in file_dict: 
    with open(f) as working: 
     working.write(file_dict[f]) 

方法2是這樣的:

files = {'common': 'hello', 'custom': 'world'} 
common_text = 'Greetings' 
custom_text = ' earth' 
for f in files.keys(): 
    with open(files[f]+'.csv', 'w') as working_file: 
     text = common_text 
     if f is 'custom': 
      text += custom_text 
     working_file.write(text) 

如果你很高興與您的實現,您可以在「寫作」部分遷移到單獨的功能(如下所示):

def write_my_stuffs(): 
    for f in file_dict: 
     with open(f) as working: 
      working.write(file_dict[f]) 

file_dict = {'animal.csv': 'I like dogs', 
      'candy.csv': 'I like chocolate cake'} 
write_my_stuffs() 
+0

非常感謝您的幫助。這很有幫助。對於將來閱讀此內容的人,我將發佈我所達到的解決方案。 – Tom

0

csv「,」w「)

世界=打開( 「world.csv」, 「W」)

一切= [你好,世界] 一半= [世界]

對一切X: x.write(」問候語 「)

關於x的一半: x.write(」 大地「)

hello.close() world.close()

+0

不知道爲什麼,但它一直刪除hello = open(hello。off the th of code) – Tom

相關問題