通常情况下我们会把一些python对像作为字符串保存在excelcsv文件中,而在后期读取数据的时候又想将文件中的字符串转换成原先的python对象,如列表、字典等,方便处理。最长用的方法是使用json.loadseval两种方法。

1. json.loads()

在使用json.loads方法将字符串转换成python对象的时候,要注意保存文件时在将python对象转换成字符串时使用json.dumps,不要使用str,否则很容易出错

    x = [1,2,3,45]f = open("/share_v3/test.txt", "w", encoding="utf-8")f.write(json.dumps(x))f.close()fr = open("/share_v3/test.txt", "r", encoding="utf-8")lines= fr.readlines()for l in lines:res = json.loads(l)print(type(res))print(res)

输出

<class 'list'>
[1, 2, 3, 45]

如下这种情况就会报错

x = {1:"xiaofang",2:"xiaohua"}f = open("/share_v3/test.txt", "w", encoding="utf-8")# f.write(json.dumps(x))f.write(str(x))f.close()fr = open("/share_v3/test.txt", "r", encoding="utf-8")lines= fr.readlines()for l in lines:print(l)res = json.loads(l)print(type(res))print(res)
{1: 'xiaofang', 2: 'xiaohua'}
发生异常: JSONDecodeError
Expecting property name enclosed in double quotes: line 1 column 2 (char 1)File "/share_v3/fangcheng/dev/youXuepai/test.py", line 97, in <module>res = json.loads(l)

出错的原因在于,直接写入文件或使用str时,会将字典里的双引号变成单引号,而json.loads要求的是双引号。

2. eval()

那么如果按上面str方式保存了文件,如何加载成python对象呢?那就需要用eval了,eval是python自带的,需要另外安装包,eval 功能比json.loads 强大,既可以加载1以json.dumps方式保存的文件,也可以加载以str方式保存的文件

    x = {1:"xiaofang",2:"xiaohua"}f = open("/share_v3/test.txt", "w", encoding="utf-8")# f.write(json.dumps(x))f.write(str(x))f.close()fr = open("/share_v3/test.txt", "r", encoding="utf-8")lines= fr.readlines()for l in lines:print(l)res = eval(l)print(type(res))print(res)

输出

<class 'dict'>
{1: 'xiaofang', 2: 'xiaohua'}

字符串转python对象相关推荐

  1. json字符串与python对象互转

    目录 json字符串转python对象 json字符串转dict json字符串 转list python对象转json格式字符串 dict转json list转json json格式字符串写入文件 ...

  2. python数据存储系列教程——python对象与json字符串的相互转化,json文件的存储与读取

    全栈工程师开发手册 (作者:栾鹏) python教程全解 在json字符串和python对象的相互转化中,会进行下列变换. 会将python中字典的写法,转化为js中对象的写法.(没有区别). 会将p ...

  3. python 对象转换为json,Python对象转换为json的方法步骤

    python中内置了json库,用起来超级方便,json现在以成为开发的必备. python对象到json字符串的转换规则: python json dict object list, tuple a ...

  4. python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....

    Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...

  5. Python日期字符串到日期对象

    本文翻译自:Python date string to date object How do I convert a string to a date object in python? 如何在pyt ...

  6. python对象底层原理_Python字符串对象实现原理详解

    在Python世界中将对象分为两种:一种是定长对象,比如整数,整数对象定义的时候就能确定它所占用的内存空间大小,另一种是变长对象,在对象定义时并不知道是多少,比如:str,list, set, dic ...

  7. python中字符串转xml对象_Python实现对象转换为xml的方法示例

    本文实例讲述了Python实现对象转换为xml的方法.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- ''''' Created on 2010-4-20 @autho ...

  8. python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...

    [简答题]实例1:求两数相除的结果. 先后输入2个数据,计算第一个数除以第二个数的结果. 要求能够处理输入数据为非数字.除数为零.文件末尾EndOfFile 和用户使用Ctrl + C 命令终止程序等 ...

  9. python对象转json字符串,及json字符串的格式化

    文章目录 前言 一.python对象转化成json字符串? 1.引入库 2.转化 二.json字符串的格式化 1.使用json.dumps(obj,indent=n)方法 2.示例 3.结果展示 总结 ...

  10. js字符串怎么转python对象_python对象与json相互转换的方法 python中怎么把json对象转成字符串...

    在python中 如何实现将一个json字符串转化为对象 对象?json不能包含对象, 只能包含基本的数据类型, 键值对, 列表, 数字, 字符串等等 import jsond = {"k& ...

最新文章

  1. 深度学习与计算机视觉系列(8)_神经网络训练与注意点
  2. C++ 与 JAVA的不同点
  3. C++ algorithm库中的几个常用函数(swap,reverse,sort)
  4. Jenkins CLI命令行工具,助你轻松管理 Jenkins
  5. 大话ion系列(三)
  6. html5shiv.js和respond.min.js
  7. MySQL 客户端命令
  8. 集成电路芯片半导体中英文对照术语词汇表
  9. 【非标自动化】2017年的最NB的非标自动化内容都在这了
  10. DW——验证注册页面 设计JavaScript
  11. impdp导入的时候报错,ORA-06502,LPX-00230
  12. 瑞萨单片机c语言程序,瑞萨单片机学习笔记(1)基本配置
  13. 虚拟WIFI软件测试工程师,【Wifi测试工程师是什么职位】中互联zhl.com2021年Wifi测试工程师待遇怎么样-看准网...
  14. python实现在excel文件中写入和追加内容
  15. 对标金九银十:各大厂最新Java面试真题整理+简历模板
  16. Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)
  17. 《Linux Shell编程从初学到精通(第2版)》pdf
  18. Pico neo3最新版SDK导入Unity详细教程(包含眼动)
  19. Facebook背后的开源力量
  20. 微软账号登陆不上_企业信息化面临的问题,看看解决方案,基于微软平台的IT架构...

热门文章

  1. OpenCV使能CUDA加速
  2. 酒店预订高保真移动端Axure原型模板
  3. 自动与时间服务器时间同步,Windows系统时间同步(附时间同步服务器地址)
  4. 新款清新个人自动发卡程序源码
  5. python session过期_设置session过期时间
  6. 怎样完整的转换PDF格式文件
  7. ncbi查找目的基因序列_献给初学者:如何使用 NCBI 查找基因序列、mRNA、Promoter...
  8. CAN Ape 标定与诊断
  9. 极光im支持android手机系统,极光IM- JMessage 产品简介 - 极光文档
  10. 游戏鼠标的dpi测试软件,有什么软件可以测试鼠标的dpi或着说cpi – 手机爱问