示例文件:
Column header 95: A|T|E|A|A|Y|E|A|E|A
Column header 96: W|I|Q|Q|A|L|P|K|E|A
Column header 97: S|D|F|Q|G|Y|E|A|E|A
我想从csv文件中计算每列氨基酸组成的百分比。我只能计算第一列,但无法迭代其余列并打印所有列的百分比。
import csv
with open ('test.csv', 'r') as f:
reader = csv.reader(f)
column = [row[0] for row in reader]
amino_acids = {}
for aa in column:
if aa in amino_acids:
amino_acids[aa] += 1
else:
amino_acids[aa] = 1
for aa, count in amino_acids.items():
#print(f'{aa}: {count}')
percentage = count / len (column) *100
print (f"{aa}: {percentage: .2f}%")
预期产出:
column header 95:
A=50%
E=30% and so on
similarly for the remaining columns.
请建议
2条答案
按热度按时间vxf3dgd41#
不清楚输入方式,但可以对每一行应用以下代码,
代码:
输出:
型
mklgxw1f2#
过程使用基本Python文件读取,因为不是CSV文件
代码
产出