如何从字符串生成python字典?
我正在从这个网站收集蛋白质序列ID: 我编写了以下代码:如何从字符串生成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
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,代码无法显示。您需要对该字符串进行操作以将其拆分为行。然后将每行拆分为一个键值对。然后把它放到字典里。请拿起,阅读,和,并提供一个。“为我实现此功能”是本网站的主题。你必须做一个诚实的尝试,然后问一个关于你的算法或技术的具体问题。我已经编辑了代码,以便它可以运行。