名前の「マスターリスト」を持つCSVファイルを繰り返し処理し、それを、出席して電話をかけた人の名前のみを含む別のCSVファイルと比較しようとしています。
マスターリストを反復処理して他のCSVファイルの名前と比較し、その人が行った呼び出しの数を取得し、名前が見つからない場合、または名前が見つからない場合は、呼び出しの数を含む新しいCSVファイルを書き込もうとしています0 です。その列に 0 が必要です。
私が見落としているのは信じられないほど単純なものなのか、それとも本当に間違っているのかはわかりません。
書式設定のために編集されました。
import csv
import sys
masterlst = open('masterlist.csv')
comparelst = open(sys.argv[1])
masterrdr = csv.DictReader(masterlst, dialect='excel')
comparerdr = csv.DictReader(comparelst, dialect='excel')
headers = comparerdr.fieldnames
with open('callcounts.csv', 'w') as outfile:
wrtr = csv.DictWriter(outfile, fieldnames=headers, dialect='excel', quoting=csv.QUOTE_MINIMAL, delimiter=',', escapechar='\n')
wrtr.writerow(dict((fn,fn) for fn in headers))
for lines in masterrdr:
for row in comparerdr:
if lines['Names'] == row['Names']:
print(lines['Names'] + ' has ' + row['Calls'] + ' calls')
wrtr.writerow(row)
elif lines['Names'] != row['Names']:
row['Calls'] = ('%s' % 0)
wrtr.writerow(row)
print(row['Names'] + ' had 0 calls')
masterlst.close()
comparelst.close()