擅长:python、mysql、java
<p>这样的事情应该行得通。它接受表单中的输入</p>
<pre><code>title,title2,h1,h2,h3
l1.1,l1,1,1,0
l1.2,l1,0,1,0
l1.3,l1,1,0,1
l2.1,l2,0,0,1
l2.2,l2,1,0,1
l3.1,l3,0,1,1
l3.2,l3,1,1,0
l3.3,l3,1,1,0
l3.4,l3,1,1,0
</code></pre>
<p>和输出</p>
^{pr2}$
<p>用python3.1.2进行了测试。在python2.x中,您需要将<code>open()</code>调用更改为使用二进制模式,并删除<code>newline=""</code>位)。您还可以删除对<code>list()</code>的调用,因为在python2.x中,<code>map()</code>已经返回了一个列表。在</p>
<pre><code>import csv
import operator
reader = csv.reader(open("test.csv", newline=""), dialect="excel")
result = {}
for pos, entry in enumerate(reader):
if pos == 0:
headers = entry
else:
if entry[1] in result:
result[entry[1]] = list(map(operator.add, result[entry[1]], [int(i) for i in entry[2:]]))
else:
result[entry[1]] = [int(i) for i in entry[2:]]
writer = csv.writer(open("output.txt", "w", newline=""), dialect="excel")
writer.writerow(headers[1:])
keys = sorted(result.keys())
for key in keys:
output = [key]
output.extend(result[key])
writer.writerow(output)
</code></pre>