擅长:python、mysql、java
<p>使用<a href="https://docs.python.org/2/library/csv.html" rel="nofollow">csv</a>,可以执行以下操作:</p>
<pre><code>import csv
with open(fn1) as fa, open(fn2) as fb:
r1, r2=map(csv.reader, (fa, fb))
a_header, b_header=map(next, (r1, r2))
data_a, data_b=map(lambda header: {k:list() for k in header},
(a_header, b_header))
for line in r1:
for k, v in zip(a_header, line):
data_a[k].append(v)
for line in r2:
for k, v in zip(b_header, line):
data_b[k].append(v)
b_header+=['name']
data_b['name']=[]
for e in data_b['id']:
try:
v=data_a['name'][data_a['id'].index(e)]
except ValueError:
v=None
data_b['name'].append(v)
with open(fn3, 'w') as fout:
writer=csv.writer(fout)
writer.writerow([e for e in b_header])
idx=0
while True:
try:
writer.writerow([data_b[key][idx] for key in b_header])
idx+=1
except IndexError:
break
</code></pre>