字符串转python对象
通常情况下我们会把一些python对像作为字符串保存在excel
或csv
文件中,而在后期读取数据的时候又想将文件中的字符串转换成原先的python对象,如列表、字典等,方便处理。最长用的方法是使用json.loads
和eval
两种方法。
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对象相关推荐
- json字符串与python对象互转
目录 json字符串转python对象 json字符串转dict json字符串 转list python对象转json格式字符串 dict转json list转json json格式字符串写入文件 ...
- python数据存储系列教程——python对象与json字符串的相互转化,json文件的存储与读取
全栈工程师开发手册 (作者:栾鹏) python教程全解 在json字符串和python对象的相互转化中,会进行下列变换. 会将python中字典的写法,转化为js中对象的写法.(没有区别). 会将p ...
- python 对象转换为json,Python对象转换为json的方法步骤
python中内置了json库,用起来超级方便,json现在以成为开发的必备. python对象到json字符串的转换规则: python json dict object list, tuple a ...
- python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....
Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...
- Python日期字符串到日期对象
本文翻译自:Python date string to date object How do I convert a string to a date object in python? 如何在pyt ...
- python对象底层原理_Python字符串对象实现原理详解
在Python世界中将对象分为两种:一种是定长对象,比如整数,整数对象定义的时候就能确定它所占用的内存空间大小,另一种是变长对象,在对象定义时并不知道是多少,比如:str,list, set, dic ...
- python中字符串转xml对象_Python实现对象转换为xml的方法示例
本文实例讲述了Python实现对象转换为xml的方法.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- ''''' Created on 2010-4-20 @autho ...
- python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...
[简答题]实例1:求两数相除的结果. 先后输入2个数据,计算第一个数除以第二个数的结果. 要求能够处理输入数据为非数字.除数为零.文件末尾EndOfFile 和用户使用Ctrl + C 命令终止程序等 ...
- python对象转json字符串,及json字符串的格式化
文章目录 前言 一.python对象转化成json字符串? 1.引入库 2.转化 二.json字符串的格式化 1.使用json.dumps(obj,indent=n)方法 2.示例 3.结果展示 总结 ...
- js字符串怎么转python对象_python对象与json相互转换的方法 python中怎么把json对象转成字符串...
在python中 如何实现将一个json字符串转化为对象 对象?json不能包含对象, 只能包含基本的数据类型, 键值对, 列表, 数字, 字符串等等 import jsond = {"k& ...
最新文章
- 深度学习与计算机视觉系列(8)_神经网络训练与注意点
- C++ 与 JAVA的不同点
- C++ algorithm库中的几个常用函数(swap,reverse,sort)
- Jenkins CLI命令行工具,助你轻松管理 Jenkins
- 大话ion系列(三)
- html5shiv.js和respond.min.js
- MySQL 客户端命令
- 集成电路芯片半导体中英文对照术语词汇表
- 【非标自动化】2017年的最NB的非标自动化内容都在这了
- DW——验证注册页面 设计JavaScript
- impdp导入的时候报错,ORA-06502,LPX-00230
- 瑞萨单片机c语言程序,瑞萨单片机学习笔记(1)基本配置
- 虚拟WIFI软件测试工程师,【Wifi测试工程师是什么职位】中互联zhl.com2021年Wifi测试工程师待遇怎么样-看准网...
- python实现在excel文件中写入和追加内容
- 对标金九银十:各大厂最新Java面试真题整理+简历模板
- Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)
- 《Linux Shell编程从初学到精通(第2版)》pdf
- Pico neo3最新版SDK导入Unity详细教程(包含眼动)
- Facebook背后的开源力量
- 微软账号登陆不上_企业信息化面临的问题,看看解决方案,基于微软平台的IT架构...
热门文章
- OpenCV使能CUDA加速
- 酒店预订高保真移动端Axure原型模板
- 自动与时间服务器时间同步,Windows系统时间同步(附时间同步服务器地址)
- 新款清新个人自动发卡程序源码
- python session过期_设置session过期时间
- 怎样完整的转换PDF格式文件
- ncbi查找目的基因序列_献给初学者:如何使用 NCBI 查找基因序列、mRNA、Promoter...
- CAN Ape 标定与诊断
- 极光im支持android手机系统,极光IM- JMessage 产品简介 - 极光文档
- 游戏鼠标的dpi测试软件,有什么软件可以测试鼠标的dpi或着说cpi – 手机爱问