我一直致力於開發一個程序來打開一個CSV文件,計算單詞「Info」,「Low」,「Medium」,「High」和「Critical」出現的次數,並將結果寫入到另一個CSV。順着這條道路,我希望它能夠解析多個CSV格式的信息,並將所有結果寫入一個CSV。這是我到目前爲止有:計算CSV列中出現的單詞並寫入另一個CSV?
import sys
import csv
import collections
severity = collections.Counter()
with open(r'C:\Report.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
severity[row[3]] +=1
print(severity.most_common)
with open(r'C:\test.csv', 'a', newline='') as write_file:
sevwrite = csv.writer(write_file, delimiter= ',',
quotechar=' ', quoting=csv.QUOTE_MINIMAL)
sevwrite.writerow([severity.most_common])
它寫出完整
<bound method Counter.most_common of Counter({'Info': 510, 'Medium': 30, 'Low': 24, 'High': 7, 'Severity': 1})>
到Test.CSV文件。任何幫助表示讚賞。
擺脫Counter循環的一個好方法是:'severity.update(cvs.reader(f)中行的行[3])''。使用帶標題鍵的DictReader而不是硬編碼的'3'索引也許更好。 –
@DaneWhite:在那裏*是一個標題行。硬編碼'3'與硬編碼字典密鑰沒什麼兩樣。 –
@Martjin:是的,只要有一個標題行。但是,對列順序的代碼依賴性與對數據標籤的依賴性有很大不同。區別與實現依賴關係和接口依賴關係相同。 –