1st Text file format .
cake,60
cake,30
tart,50
bread,89
2nd Text file format .
cake,10
cake,10
tart,10
bread,10
我試過的代碼。字典python
from collections import defaultdict
answer = defaultdict(int)
recordNum = int(input("Which txt files do you want to read from "))
count = 1
counter = 0
counst = 1
countesr = 0
while recordNum > counter:
with open('txt'+str(count)+'.txt', 'r') as f:
for line in f:
k, v = line.strip().split(',')
answer[k.strip()] += int(v.strip())
count = count+1
counter = counter+1
print(answer)
問題所在。
I want the dictionary to be {'cake': '110', 'tart': '60', 'bread': '99'}
but it prints like this {'cake': '30', 'tart': '50', 'bread': '89'}
取而代之的是「蛋糕」的值從txt文件與其他蛋糕值加一和二它得到了最新的值替換。我將如何解決這個問題。另外我試圖做到這一點,如果我寫3,它會打開並添加3 txt文件,名爲,txt1.txt,txt2.txt和txt3.txt
無法重現此。它適用於我。然而,它提供了110個蛋糕(30 + 60 + 10 + 10),並對文件名進行了硬編碼。 – MSeifert
硬編碼文件名是什麼意思? –
嗯,我不喜歡'input',所以我只創建了兩個文件,只是迭代它們而不是'while recordNum> counter:'。 – MSeifert