擅长:python、mysql、java
<pre><code>from StringIO import StringIO
input = """Site Species
A01 ACRB
A01 TBL
A02 TBL
A03 GRF
"""
counts = {}
sites = set()
species = set()
# Count pairs (site, specie)
for line in StringIO(input).readlines()[1:]:
site, specie = line.strip().split()
sites.add(site)
species.add(specie)
count = counts.get((site, specie), 0)
counts[(site, specie)] = count + 1
# Print first row.
print "Site\t",
for specie in species:
print specie, "\t",
print
# Print other rows.
for site in sites:
print site, "\t",
for specie in species:
print counts.get((site, specie), 0),
print
</code></pre>