<p>很晚了(在我的时区)。这段代码表示读取两个文件的基本方法,以及在<code>pdpass</code>变量上合并它们的基本方法,假设输入文件是以制表符分隔的。(如果它们不是制表符分隔的,我可以提供其他代码。)</p>
<p>差点忘了!:我更改了其中一个文件中的一些<code>pdpass</code>值,以便其中的记录将“连接”到另一个文件中的某些相应记录。你知道吗</p>
<pre><code>import csv
complete = {}
with open('FILE.csv') as csvfile:
reader = csv.DictReader(csvfile, delimiter='\t')
for row in reader:
complete[row['pdpass']] = [row[_] for _ in ['sta', 'cnt', 'assgnum', 'cty', 'ptype', 'patnum']]
with open('FILE.dat') as datfile:
reader = csv.DictReader(datfile, delimiter='\t')
for row in reader:
complete[row['pdpass']].extend(row[_] for _ in ['cod', 'cod_fix', 'standard_name', 'uspto_assignee'])
for pdpass in complete:
print (pdpass, complete[pdpass])
</code></pre>
<p>结果如下:</p>
<pre><code>10030276 ['IL', '', '1', 'Chicago', '0', '3930276', '02 US corporation', 'No change', '& COMMUNICATIONS', '721167']
10156902 ['PA', '', '1', 'Bedford', '0', '3930272', '03 Foreign corp, incl. state-owned', 'No change', '& FR', '182855']
10030271 ['IL', '', '1', 'Chicago', '0', '3930271', '03 Foreign corp, incl. state-owned', 'No change', '& DESIGN LTD', '806186']
10112031 ['MO', '', '1', 'St. Louis', '0', '3930273', 'US institute', '32', '& AEROSPACE FOUND', '835951']
</code></pre>
<p>输入文件:</p>
<p>你知道吗文件.csv你知道吗</p>
<pre><code>sta cnt assgnum cty pdpass ptype patnum
"IL" "" 1 "Chicago" 10030271 "0" 3930271
"PA" "" 1 "Bedford" 10156902 "0" 3930272
"MO" "" 1 "St. Louis" 10112031 "0" 3930273
"IL" "" 1 "Chicago" 10030276 "0" 3930276
</code></pre>
<p>你知道吗文件.dat你知道吗</p>
<pre><code>cod cod_fix pdpass standard_name uspto_assignee
"US institute" 32 10112031 "& AEROSPACE FOUND" 835951
"02 US corporation" "No change" 10030276 "& COMMUNICATIONS" 721167
"03 Foreign corp, incl. state-owned" "No change" 10030271 "& DESIGN LTD" 806186
"03 Foreign corp, incl. state-owned" "No change" 10156902 "& FR" 182855
</code></pre>