如何从字符串生成python字典?

如何从字符串生成python字典?,python,bioinformatics,protein-database,Python,Bioinformatics,Protein Database,我正在从这个网站收集蛋白质序列ID: 我编写了以下代码: url = 'https://www.uniprot.org/uploadlists/' params = { 'from': 'ID', 'to': 'UPARC', 'format': 'tab', 'query': 'P00766 P40925' } data = urllib.parse.urlencode(params) data = data.encode('utf-8') req = urllib.reques

我正在从这个网站收集蛋白质序列ID:

我编写了以下代码:


url = 'https://www.uniprot.org/uploadlists/'

params = {
'from': 'ID',
'to': 'UPARC',
'format': 'tab',
'query': 'P00766    P40925'

}

data = urllib.parse.urlencode(params)
data = data.encode('utf-8')
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as f:
   response = f.read()
   string_it = (response.decode('utf-8'))
print(string_it)
打印结果字符串时:

我得到的输出如下所示:

From    To
P00766  UPI000011047C
P40925  UPI0000167B3E

如何将其转换为字典?

基本上,只需适当拆分并使用字符串中的值即可。代码如下:

string_list = string_it.split("\n")
string_list = [i for i in string_list if i!=""]
dict_values = {}
for i in string_list[1:]:
    dict_values[i.split("\t")[0]] = i.split("\t")[1]
    
dict_values
输出为:

{'P00766': 'UPI000011047C', 'P40925': 'UPI0000167B3E'}

代码演练:

  • 最初,根据新行拆分字符串
  • 这通常会导致一个空条目。所以,去掉这个
  • 初始化字典
  • 通过行循环,忽略第一个条目,因为它只是
    From
    To
  • 根据分隔符将其拆分,并将值添加到字典中

    • 我相信您的字符串是这样的:

      From    To
      P00766  UPI000011047C
      P40925  UPI0000167B3E
      
      string_it=“”
      从到
      P00766 UPI000011047C
      P40925 UPI0000167B3E
      """
      
      您可以使用
      splitlines()
      拆分所有行。然后再次使用
      split()
      拆分单行

      new_dict={}
      对于字符串中的行\u it.splitlines():
      如果行==“”:
      持续
      新目录[line.split()[0]]=line.split()[1]
      新规
      
      您可以将字符串的内容发布为文本而不是图像吗?由于未定义df,代码无法显示。您需要对该字符串进行操作以将其拆分为行。然后将每行拆分为一个键值对。然后把它放到字典里。请拿起,阅读,和,并提供一个。“为我实现此功能”是本网站的主题。你必须做一个诚实的尝试,然后问一个关于你的算法或技术的具体问题。我已经编辑了代码,以便它可以运行。