关于JSON库的说法
在使用JSON库之前,我们先了解一下:什么是JSON?
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成
{"name": "John Doe", "age": 18, "address": {"country" : "china", "zip-code": "10000"}}
在我看来,JSON像python中的字典格式
JSON库中常用的函数
函数 | 描述 |
json.dumps(obj,sort_keys=False,indent=None) | 将python的数据类型转成JSON格式,编码 |
json.loads(string) | 将JSON格式转成python数据类型,解码 |
import json
dic={"name": "John Doe", "age": 18, "address": {"country" : "china", "zip-code": "10000"}}
print(dic)
print(type(dic))
print("-"*70)
dic_dumps=json.dumps(dic)
print(dic_dumps)
print(type(dic_dumps))
第1个字典格式,用dumps()变成了str格式,是转成了json格式,不再是字典格式
实例:将pandas转成json格式
此类实例,可以将pandas转成json格式,并且上传到mongo中
import pandas as pd
import json
data=pd.read_excel(r"C:\Users\yellow\Desktop\data.xlsx")
for i in range(len(data)):
print('-'*70)
row=data.iloc[i,:]
row=row.astype('str')
dic=dict(row)
loads=json.dumps(dic)
print(loads)
Time | IsClassic | OnSaleFlag | IsValid | IsDisabled |
20140901 | FALSE | FALSE | TRUE | FALSE |
20140901 | FALSE | FALSE | TRUE | FALSE |
20020401 | FALSE | FALSE | TRUE | FALSE |
20030901 | FALSE | FALSE | TRUE | FALSE |
20160401 | FALSE | FALSE | TRUE | FALSE |
20150701 | FALSE | FALSE | TRUE | FALSE |
20131101 | FALSE | FALSE | TRUE | FALSE |
20130801 | FALSE | FALSE | TRUE | FALSE |
20101201 | FALSE | FALSE | TRUE | FALSE |
20150701 | FALSE | FALSE | FALSE | FALSE |
Json格式,其实在Mongo数据库还是很常用了,但是基本用到的是dumps(),loads(),2个常用的公式。python提供了这个json库,有效地将python和mongo连接起来。