json 的简单应用
今天做爬虫时的一点盲区 :字符串, 字典,写到同一个文件中。难以利用!
比如这样的数据:
str = “hi,budy. i like 52pojie!”
dirt = {“陈墨”:["男",“22”]}
一、保存到txt文件
|
1
2
3
|
with open("text.txt","w") as f: f.write(str) #write()只能保存string f.write(str(dirt)) |
这样读出来,怎么读都是字符串。dirt难以利用。
二、保存到json数据,json.load 和 json.dump的使用
|
1
2
|
with open( "a.json", "w") as f: json.dump(str,f) json.dump(dirt,f) |
读取时使用json。dump(),这样会产生错误,一个是字符串,一个是字典。一起读数据数据类型不统一。
那就分开读,也就是第三种方式:
三、,json.load 和 json.dump+json.loads()的使用
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import jsondef read_json(): with open("a.json", "r") as f: #每一行为一个列表的元素,各行独立 data = f.readlines() for dat in data: #去掉行后的空白,换行或者回车 dat = dat.rstrip() #利用json.loads()恢复每一行的保存前数据类型, dir = json.loads(dat) #打印数据类型 print(type(dir)) print(dir)def write_json(): with open( "a.json", "w") as f: str = [1,2,5,3,4,5] json.dump(str,f) #每行后换行,保证每条数据相互独立。 f.write("\n") str ={11:22,33:44} json.dump(str,f) f.write("\n") str = "hello budy!" json.dump(str,f) #这样会产生比较多的空间浪费。每行有可能不到一半,if __name__ == "__main__": write_json() read_json() |
这样做,以我目前的水平来说,方便了很多,保存的数据很方便就可以按照他原来的数据类型去使用。但是产生的空间浪费也很多,
比如一行100个字节,可能就用了10个字节
json 的简单应用的更多相关文章
- json-lib简单处理json和对json的简单介绍
JSON 1.json是什么? *它是js提供的一种数据交换格式 2.json的语法 *{}:是对象! >属性名必须使用双引号括起来!单引号不行!!! >属性值: *null *数值 *数 ...
- js中json数据简单处理(JSON.parse()和js中嵌套html)
js中json数据简单处理(JSON.parse()和js中嵌套html) 一.总结 1.html中嵌套js:<script>js代码</script> 2.js中嵌套html ...
- Python中json的简单读写操作
Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- golang json 包简单分析
首先上代码: func main() { b := true a1, _ := json.Marshal(b) a2, _ := Marshal(b) fmt.Println(string(a1)) ...
- JSON.NET 简单的使用
JSON.NET(http://json.codeplex.com/)使用来将.NET中的对象转换为JSON字符串(序列化?),或者将JSON字符串转换为.NET中已有类型的对象(反序列化?) 首先为 ...
- android json 解析 简单示例
1 下面是一个简单的json 解析的demo,废话不多说,直接上代码 package com.sky.gallery; import java.io.ByteArrayOutputStream; im ...
- Android+Servlet+MySql+JSON实现简单的数据查询操作--C/S架构
本例简单地实现Android客户端与服务器端交互,主要是通过客户端输入内容(学号)提交到服务器端,服务器端与数据库交互去查询相应信息(姓名).根据这个做个完整的安卓登录是没问题的.本例数据库服务器都采 ...
- java post请求的表单提交和json提交简单小结
在java实现http请求时有分为多种参数的传递方式,以下给出通过form表单提交和json提交的参数传递方式: public String POST_FORM(String url, Map< ...
- JSON的简单介绍以及C语言的JSON库使用
JSON概述 JSON: JavaScript 对象表示法( JavaScript Object Notation) .是一种轻量级的数据交换格式. 它基于ECMAScript的一个子集. JSON采 ...
- Struts2+json+hignchart(简单柱状图实现--适合jquery小白)
做了一个简单的基于Struts2 + Json + HighChart的小例子,费了一下午+晚上的时间,虽然简单,但对于我这种Jquery+Ajax小白的人还是很值得记录的. 哈哈哈 # 0. 关键点 ...
随机推荐
- 另一种分页器 不依赖Paginator模块的方法
""" 分页组件 """ class Pagination(object): def __init__(self, current_page ...
- CF 1140B Good String
Description You have a string ss of length nn consisting of only characters > and <. You may d ...
- wyy Downloader(当前置顶项目)
第一个大刀阔斧肝的 PY 项目,名称简称为 wyyDLer 公开 EXE 计划: 感觉程序应该是没什么可以完善的了,然后就顶雷([雾 ) 把 EXE 放上来好了 1.2版下载链接 应该不会出事把 Qv ...
- 吴恩达机器学习101:SVM优化目标
1.为了描述SVM,需要从logistic回归开始进行学习,通过改变一些小的动作来进行支持向量机操作.在logistic回归中我们熟悉了这个假设函数以及右边的sigmoid函数,下式中z表示θ的转置乘 ...
- jsp页面中JSTL如何处理日期格式
引入fmt标签 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 格 ...
- 使用git配置ssh的文章推荐
https://blog.51cto.com/sgk2011/1925922 https://www.cnblogs.com/superGG1990/p/6844952.html https://bl ...
- 【Java】 Java反射机制总结
一.什么是反射 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的 ...
- AT&T推出云5G网络开源工具Airship
导读 AT&T新推出的云5G网络依赖于一个名为“Airship”的开源供应工具,该工具在周一发布了第一个版本. AT&T负责网络云的副总裁Amy Wheelus告诉LightReadi ...
- 四、Signalr手持令牌验证
一.JWT 服务端在respose中设置好cookie,浏览器发请求都会自动带上,不需要做额外设置 但是如果客户端是非浏览器,或者要兼容多种客户端,这个方法就不行了 Js端 @{ Layout = n ...
- 010-监控windows主机
1)下载windows的zabbix_agent下载地址:https://www.zabbix.com/download 下载客户端并解压到指定目录D:\zabbix,解压后有两个目录:bin和con ...