[英]How to create a dataframe by importing data from multiple .csv files that are alike in contents?
[英]How to create multiple files and its contents from a list?
我是 Python 的新手。 我想做一些txt。 文件及其內容,但我看到它僅適用於文件名中的第一個列表(listA)。 它的物品都是制作的。 但是第二個列表(listB)不起作用,它只顯示最后一項(“3”)。 請幫我。
listA = ["one", "two", "three"]
listB = ["1", "2", "3"]
for item in listA:
for item2 in listB:
with open("random{}.txt".format(item), "w") as f:
f.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
f.write("\nLorem ipsum dolor sit amet, consectetur {} adipiscing elit.".format(item2))
f.write("\nLorem ipsum dolor sit amet, consectetur adipiscing elit.")
在 with 語句中移動第二個 for 循環。
您當前的代碼正在為 listB 上的每個項目覆蓋您的文件,只留下最后修改的版本(即 item2 =“3”)。
for item in listA:
with open("random{}.txt".format(item), "w") as f:
for item2 in listB:
f.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
f.write("\nLorem ipsum dolor sit amet, consectetur {} adipiscing elit.".format(item2))
f.write("\nLorem ipsum dolor sit amet, consectetur adipiscing elit.")
您還可以保留當前代碼並以append模式( 'a'
)打開文件,但是關閉文件只是為了重新打開它效率低下。
問題在於您使用的標志。 現在您正在使用“w”標志寫入文件。 如果文件已經存在,這將覆蓋該文件。 如果您使用“a”(附加標志),它可以解決您的問題。 它附加到現有文件,如果文件不存在,它會創建它。
with open("random{}.txt".format(item), "a") as f
此外,您可以通過在 with 語句中移動內部循環來提高代碼效率。 這樣,每個外循環只打開一次文件。
listA = ["one", "two", "three"]
listB = ["1", "2", "3"]
for item in listA:
with open("random{}.txt".format(item), "w") as f:
for item2 in listB:
f.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
f.write("\nLorem ipsum dolor sit amet, consectetur {} adipiscing elit.".format(item2))
f.write("\nLorem ipsum dolor sit amet, consectetur adipiscing elit.")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.