针对data.tsv文件,将第一列相同基因ID对应的第二列数据合并成out.tsv文件
下图一是data.tsv文件的部分内容,图二是out.tsv文件的部分内容,
求问如何在脚本中指定文件的列内容数和筛选,还有就是筛选后如何如何储存新文件
将tsv文本数据中的数据以字典的方式统计,最后写入out.tsv。
*.tsv文本数据及代码执行后输出的out.tsv文本内容
python 代码
#!/sur/bin/nve python
# coding: utf-8
from random import choices
from random import sample
mypath = '/sdcard/001/'
keys = 'ABC'
chars = 'abcdefghigklmnopqrstuvwxyz'
with open(f"{mypath}test.tsv", 'w') as f: # 随机写入tsv文本18行
for i in range(18):
f.write(f"{''.join(sample(keys, k=2))}{' '*4}{''.join(choices(chars, k=4))}\n")
count = {}
for line in open(f"{mypath}test.tsv").read().split('\n'):
if not line:
break
a, b = line.split()
lis = count.get(a, [])
lis.append(b)
count[a] = lis
with open(f"{mypath}out.tsv", 'w') as f: # 统计数据写入文本。
for k,v in count.items():
f.write(f"{k}{' '*4}{';'.join(v)}\n")