Python 如何将字符串转为字典

1、问题描述

从文件student.txt中读取学生信息,文件内容如下:

{'id': '1001', 'name': 'Jane', 'english': 98, 'python': 89, 'java': 92}
{'id': '1002', 'name': 'Zain', 'english': 86, 'python': 84, 'java': 95}

读取文件代码:

filename = 'student.txt'
stu_txt = open(filename, 'r') # 以只读模式打开文件
stu_list = stu_txt.readlines() # 按行读取所有内容至列表中

stu_list中存储的内容如下:

["{'id': '1001', 'name': 'Jane', 'english': 98, 'python': 89, 'java': 92}\n",
 "{'id': '1002', 'name': 'Zain', 'english': 86, 'python': 84, 'java': 95}\n"]

2、如何处理该stu_list列表中的字符串转为字典类型呢?

首先,去掉“\n”后的字符串才是符合字典格式的,即:

for item in stu_list: # 遍历列表
    str = item.replace('\n', '') # 将每个列表中的字符串都使用空字符代替\n
    d = eval(str) # 再使用eval方法将字符串转换为字典

接下来检验一下d的值和类型

print(d)
print(type(d))

打印结果如下:

{'id': '1001', 'name': 'Jane', 'english': 98, 'python': 89, 'java': 92}
{'id': '1002', 'name': 'Zain', 'english': 86, 'python': 84, 'java': 95}
<class 'dict'>

版权声明:本文为qq_33580192原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。