【问题标题】:How to use a txt file to build a dictionary?如何使用 txt 文件构建字典?
【发布时间】:2020-01-14 15:57:37
【问题描述】:

我正在尝试使用包含字典的 txt 文件将 aa 从 3 个字母表转换为 1 个字母表,我必须在我的 Python 脚本中将此文件作为字典打开,但我不能,它返回给我一个错误:

ValueError: 字典更新序列元素#0 的长度为 1; 2 是必需的 这是我的代码:

with open ('test.txt') as file:
for line in file:
 line.replace('\n','').split()
  return dic(file) 

这是我的 txt 文件:

AA_code = dict( [ ["ALA", "A"], ["ARG", "R"], ["ASP", "D"], ["THR", "T"], ["PRO", "P"]、["HIS"、"H"]、["SER"、"S"]、["TRP"、"W"]、["GLY"、"G"]、["PHE"、 "F"]、["GLU"、"E"]、["CYS"、"C"]、["TYR"、"Y"]、["VAL"、"V"]、["LYS"、 "K"]、["GLN"、"Q"]、["ASN"、"N"]、["LEU"、"L"]、["MET"、"M"]、["ILE"、 “一世”], ] )

【问题讨论】:

  • 您还可以提供数据示例吗?听起来前几行就可以了。
  • “txt 文件”已经看起来像 Python。它是否正确?试图将其解析为原始文本似乎是一种反模式——只需将其设为模块并将其作为代码导入即可。

标签: python dictionary


【解决方案1】:

如果你信任文本文件的来源,你可以这样做,因为它的内容似乎是 Python 代码:

def get_aa_codes(filename):
    gbls = {'__builtins__': {'dict': dict}}

    with open(filename) as file:
        exec(file.read(), gbls)

    return gbls['AA_code']


print(get_aa_codes('dict_test.txt'))

打印结果:

{'ALA': 'A', 'ARG': 'R', 'ASP': 'D', 'THR': 'T', 'PRO': 'P', 'HIS': 'H', 'SER': 'S', 'TRP': 'W', 'GLY': 'G', 'PHE': 'F', 'GLU': 'E', 'CYS': 'C', 'TYR': 'Y', 'VAL': 'V', 'LYS': 'K', 'GLN': 'Q', 'ASN': 'N', 'LEU': 'L', 'MET': 'M', 'ILE': 'I'}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    相关资源
    最近更新 更多