python将字符串转为字典(将str类型还原为dict字典类型)
  TEZNKK3IfmPf 2023年11月14日 30 0

有三种方法:

  1. eval(字符串)
  2. yaml.load(字符串, Loader=yaml.FullLoader)
  3. ast.literal_eval(字符串)

但是要注意,转换之前,原始的字典中key与value必须是python原生支持的类型,不能是datetimepandas这种类型

示例代码

import yaml
import ast

dict_string = str({
     
       
    "name": "小明",
    "age": 12,
    "成绩": 59.99,
    "入学时间": "2021-01-01",
})
print(dict_string)

得到字符串dict_string的结果:

'{\'name\': \'小明\', \'age\': 12, \'成绩\': 59.99, \'入学时间\': \'2021-01-01\'}'

使用如下方法将 string字符串 -> dict字典

eval(dict_string)  # 方法1
yaml.load(dict_string, Loader=yaml.FullLoader) # 方法2
ast.literal_eval(dict_string) # 方法3

都可以得到想要的结果:

{
     
       'name': '小明', 'age': 12, '成绩': 59.99, '入学时间': '2021-01-01'}

但是,如果将dict_string改为:

from datetime import datetime

dict_string = str({
     
       
    "name": "小明",
    "age": 12,
    "成绩": 59.99,
    "入学时间": datetime(2021, 1, 1),
})

则结果都会出错!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf