Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在excel文件中将三个字母的氨基酸转换为单个字母_Python_Excel_Biopython - Fatal编程技术网

Python 如何在excel文件中将三个字母的氨基酸转换为单个字母

Python 如何在excel文件中将三个字母的氨基酸转换为单个字母,python,excel,biopython,Python,Excel,Biopython,我想将excel中一列由三个字母组成的氨基酸转换为一个字母,并将一个字母的氨基酸打印到excel文件中相应的每一行。我知道我可以用biopython来做这个 我所尝试的: import Bio from Bio.SeqUtils import seq1 seq1("MetAlaIleValMetGlyArgTrpLysGlyAlaArgTer") 'MAIVMGRWKGAR*' 但我希望大家理解,我不能为python转换字符串。我需要在excel中阅读一整列,然后按转换后的

我想将excel中一列由三个字母组成的氨基酸转换为一个字母,并将一个字母的氨基酸打印到excel文件中相应的每一行。我知道我可以用biopython来做这个

我所尝试的:

import Bio
from Bio.SeqUtils import seq1
seq1("MetAlaIleValMetGlyArgTrpLysGlyAlaArgTer")
'MAIVMGRWKGAR*'
但我希望大家理解,我不能为python转换字符串。我需要在excel中阅读一整列,然后按转换后的1个字母顺序打印一个新列。供参考的图片:

例如:

也许您可以尝试下面的脚本。您需要将其扩展为所有可能的三个字母组合。希望这对你有用

# open file 
import pandas as pd
df = pd.read_excel (r'file')
df.columns=['three letter code']

codes = []
for i in df['code']:
  if i == 'uuu':
    codes.append('U')
  if i == 'cuu':
    codes.append('C')    
  if i == 'uaa':
    codes.append('A')
print (codes)
df['new_code']= codes
df
输出为:

        code    new_code
0       uuu     U
1       cuu     C
2       uaa     A

现在好点了吗?谢谢,我现在就做,更新更多细节。我想这会有用的。谢谢你的提示。