python将字符串转为字典(将str类型还原为dict字典类型)

2023-11-12

有三种方法:

  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),
})

则结果都会出错!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python将字符串转为字典(将str类型还原为dict字典类型) 的相关文章

  • 如何在序列化器创建方法中获取 URL Id?

    我有以下网址 url r member P
  • pydev 调试器:严重警告:此版本的 python 似乎编译不正确(内部生成的文件名不是绝对的)[重复]

    这个问题在这里已经有答案了 通过运行 from sklearn datasets import fetch california housing import pandas as pd pd set option precision 4 m
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • Pandas 数据帧到 numpy 数组 [重复]

    这个问题在这里已经有答案了 我对 Python 很陌生 经验也很少 我已经设法通过复制 粘贴和替换我拥有的数据来使一些代码正常工作 但是我一直在寻找如何从数据框中选择数据 但无法理解这些示例并替换我自己的数据 总体目标 如果有人真的可以帮助
  • python suds SOAP 请求中的名称空间前缀错误

    我使用 python suds 来实现客户端 并且在发送的 SOAP 标头中得到了错误的命名空间前缀 用于定义由element ref 在 wsdl 中 wsdl 正在引用数据类型 xsd 文件 请参见下文 问题出在函数上GetRecord
  • 对图像块进行多重处理

    我有一个函数必须循环遍历图像的各个像素并计算一些几何形状 此函数需要很长时间才能运行 在 24 兆像素图像上大约需要 5 小时 但似乎应该很容易在多个内核上并行运行 然而 我一生都找不到一个有据可查 解释充分的例子来使用 Multiproc
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • python Soap zeep模块获取结果

    我从 SOAP API 得到如下结果 client zeep Client wsdl self wsdl transport transport auth header lb E authenticate self login res cl
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f

随机推荐

  • 如何理解和解决CXXABI not found问题?

    编译C 程序时 在链接阶段有时会出现CXXABI not found的问题 usr lib64 libstdc so 6 version CXXABI 1 3 8 not found 问题出现的场景 当前编译的程序需要依赖其它已编译的组件
  • vtk中的点云曲面重建

    对于光学扫描设备 如激光雷达 采集到的非规则点云数据 最重要的需求之一就是进行表面重建 Surface Reconstruction 对成片密集分布的点云以三角片拟合 形成连续 精确 良态的曲面表示 目前主流的算法可分为剖分类 组合类和拟合
  • win11管理我的账户提示“无法使用个人帐户在此登录,请改用工作或学校帐户”

    先把所有账户删除 注销Store 重新登陆账户 登录后选择自动登录到所有Microsoft应用就好了
  • 210. 课程表 II

    文章目录 Tag 题目来源 题目解读 解题思路 方法一 拓扑排序 写在最后 Tag 拓扑排序 题目来源 210 课程表 II 题目解读 在选修某些课程之前需要先学习某些课程 先学习的课程有数组 prerequisites 给出 其中 pre
  • NAT和全网互通

    首先在GWserver设备上安装一个 路由和远程访问 然后打开路由和远程访问右键新建nat
  • 怎么用计算机测量一个物体的高度,常用测量工具的使用方法?

    工具分类测量工具通常按用途分为通用测量工具 专类测量工具和专用测量工具3类 测量工具还可按工作原理分为机械 光学 气动 电动和光电等类型 这种分类方法是由测量工具的发展历史形成的 但一些现代测量工具已经发展成为同时采用精密机械 光 电等原理
  • Ubuntu安装SSH服务

    注 安装前需要先将 源 配置好 以下演示为root账号 1 更新软件源 apt get install y update 2 安装openssl apt get install y update apt get install y open
  • Set集合框架

    前言 给大家讲讲Set结合框架 码字不易 点个关注 转载请说明 思维导图 目录 1 List和Set的区别 1 两者的特点 2 两者之间的对比 3 取值 2 Set集合的特点 3 Set集合的循环方式 4 HashSet去重复以及原理 1
  • git修改分支名

    使用git命令操作 1 修改本地分支名称 git branch m oldBranchName newBranchName 2 将本地分支的远程分支删除 git push delete origin oldBranchName 3 将改名后
  • virtual usb multikey安装设备时出现错误_【图解USB】USB 之CDC 程序结构(完结篇)...

    来源 公众号 鱼鹰谈单片机 作者 鱼鹰Osprey ID emOsprey本篇介绍整个例程的结构和程序流程 Github 里面有一个仓库CMSIS DAP https github com x893 CMSIS DAP 该工程可以导入到gi
  • 强化学习 最前沿之graph policy gradients

    强化学习 Zee最前沿系列 深度强化学习作为当前发展最快的方向 可以说是百家争鸣的时代 针对特定问题 针对特定环境的文章也层出不穷 对于这么多的文章和方向 如果能撇一隅 往往也能够带来较多的启发 本系列文章 主要是针对当前较新的深度强化学习
  • 使用SQL语句操作数据表和管理表中的数据

    一 使用SQL语句操作数据表 表名是可以在数据库中唯一确定的一张表 1 创建表 语法 create table 表的名字 列名1 数据类型 列名2 数据类型 列名3 数据类型 注意 创建表之后括号后应该用分号结束 并且在列名和数据类型的最后
  • Windows平台下安装与配置MySQL

    免费下载网址 https dev mysql com downloads windows installer 8 0 html 版本选择 社区版8 0 20 双击安装包 选择Developer Default 下一步 点Execute执行
  • C语言 - static inline

    2019 07 16 今天在看DPDK负载均衡的实例代码中 通过函数跳转 看到官方API后 发现了static inline这个关键字 这个我只是在很早之前知道inline是内联的 可以不进行压栈 但是static毕竟是限制函数的作用域的啊
  • Sentinel实现熔断与限流

    文章目录 一 Sentinel是什么 1 简介 2 对比 3 Linux安装 二 初始化演示工程 1 新建module cloudalibaba sentinel service8401 2 pom文件 3 application yml
  • 个人总结:京东技术体系员工级别划分及薪资区间

    管理层级 序列层级 职衔 对应T序 薪资区间 技术 M5 CXO M5 VP M4 3 高级总监 M4 2 总监 T5 40 50k M4 1 副总监 T5 35 45k M3 高级经理 T4 2 30 40k M2 2 经理 T4 1 2
  • 【ReID】【代码注释】采样器 deep-person-reid/samplers.py

    源码URL https github com michuanhaohao deep person reid blob master samplers py 采样器读源码注释如下 from future import absolute imp
  • Java三大器之拦截器(Interceptor)的实现原理及代码示例

    前言 前面2篇博客 我们分析了Java中过滤器和监听器的实现原理 今天我们来看看拦截器 1 拦截器的概念 java里的拦截器是动态拦截Action调用的对象 它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码 也可以在一个
  • ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘

    在使用mean absolute percentage error时 导入模块报错 from sklearn metrics import mean absolute percentage error 报错信息 ImportError ca
  • python将字符串转为字典(将str类型还原为dict字典类型)

    有三种方法 eval 字符串 yaml load 字符串 Loader yaml FullLoader ast literal eval 字符串 但是要注意 转换之前 原始的字典中key与value必须是python原生支持的类型 不能是d