擅长:python、mysql、java
<p>下面的脚本在中读取两个(或更多)CSV文件,并将行条目的交集写入新的CSV文件。我的意思是,如果<code>input1.csv</code>中的row1在<code>input2.csv</code>中的任何地方找到,则该行将写入输出,依此类推。在</p>
<pre><code>import csv
files = ["input1.csv", "input2.csv"]
ldata = []
for file in files:
with open(file, "r") as f_input:
csv_input = csv.reader(f_input, delimiter="\t", skipinitialspace=True)
set_rows = set()
for row in csv_input:
set_rows.add(tuple(row))
ldata.append(set_rows)
with open("Intersection(Brachypodium_Japonica).csv", "wb") as f_output:
csv_output = csv.writer(f_output, delimiter="\t", skipinitialspace=True)
csv_output.writerows(set.intersection(*ldata))
</code></pre>
<p>您需要添加文件名mangling。这种格式使测试更容易。使用Python2.7进行了测试。在</p>