擅长:python、mysql、java
<p>分步骤进行:</p>
<ol>
<li>读取传入的<code>tsv</code>文件并将来自不同基因的信息聚合到字典中。在</li>
<li>过程说字典要符合你想要的格式。在</li>
<li>将结果写入JSON文件。在</li>
</ol>
<p>代码如下:</p>
<pre><code>import csv
import json
from collections import defaultdict
input_files = ['f1.tsv', 'f2.tsv']
output_file = 'genes.json'
# Step 1
gene_dict = defaultdict(lambda: defaultdict(list))
for file in input_files:
with open(file, 'r') as f:
reader = csv.DictReader(f, delimiter='\t')
for line in reader:
gene = line.pop('gene')
sample = line.pop('sample')
gene_dict[gene][sample].append(line)
# Step 2
out = [{'gene': gene,
'samples': [{'sample': sample, 'extras': extras}
for sample, extras in samples.items()]}
for gene, samples in gene_dict.items()]
# Step 3
with open(output_file, 'w') as f:
json.dump(out, f)
</code></pre>