<p>使用<a href="https://docs.python.org/3/library/collections.html#collections.defaultdict" rel="nofollow noreferrer">^{<cd1>}</a>,这是一个专门的字典类,可以使它变得简单:</p>
<pre><code>import collections
import csv
import os
import sys
try:
filename = sys.argv[1]
itemindex = int(sys.argv[2])
countindex = int(sys.argv[3])
except IndexError:
print('Error:\n Usage: {} <file name> <item index> <count index>'.format(
os.path.basename(sys.argv[0])))
sys.exit(-1)
with open(filename, 'r', newline='') as file:
reader = csv.reader(file, skipinitialspace=True)
next(reader) # Skip first row.
counter = collections.defaultdict(int)
for row in reader:
disease, deaths = row[itemindex], int(row[countindex])
counter[disease] += deaths
for key, value in sorted(counter.items()):
print('{}, {}'.format(key, value))
</code></pre>
<p>示例用法:</p>
<pre class="lang-none prettyprint-override"><code>python3 script_name.py diseases.csv 0 1
</code></pre>
<p>样本输出:</p>
<pre class="lang-none prettyprint-override"><code>Diabetes Mellitus, 223
Influenza and Pneumonia, 325
</code></pre>