擅长:python、mysql、java
<p>另一个例子(这一个产生了你所展示的输出,但是我想Tomás的输出是你描述的):</p>
<pre><code>import csv
def read_file(path):
with open(path) as fh:
data = csv.reader(fh)
return [row for row in data if row]
def match(l1, l2):
result = []
for i in l2:
match = False
for j in l1:
if i[0] == j[0]:
row = j + i[1:]
match = True
break
if not match:
row = [i[0], "NO ENTRY"]
result.append(row)
return result
if __name__ == '__main__':
l1 = read_file("inFile.csv")
l2 = read_file("inFile2")
result = match(l1, l2)
of = open('outFile.csv', 'w')
writer = csv.writer(of)
writer.writerows(result)
of.close()
</code></pre>
<p>注意:</p>
<p>您应该使用<code>open</code>而不是<code>file</code>;在文件模式下,<code>b</code>用于二进制文件(通过在文本模式下打开可以进行行结束的转换)。还有很多,但已经解决了。在</p>