相同点
dump 和 dumps 都实现了序列化, 把json data存成文件
load 和 loads 都实现反序列化, 从文件读取json data
不同:
loads: 是将string转换为dict
load: 是将里json格式字符串转化为dict,读取文件
dumps: 是将dict转换为string
dump: 是将dict类型转换为json格式字符串,存入文件
例如这段代码就会出错
import pandas as pd
import json
import csv
file_name=r"D:\AI\Machine learning research uni of kent\Entity Recognition in Resumes.json"
# file_name = r"D:\AI\audio-classification\wz_relay_dual\wz_relay_train.json"
with open(file_name, 'r', encoding='utf-8') as f:
lines=f.readlines()
data = json.load(lines[0])
File "D:/AI/Machine learning research uni of kent/demo.py", line 9, in <module>
data = json.load(lines[0])
File "C:\Users\Michelle\anaconda3\lib\json\__init__.py", line 293, in load
return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
因为line已经是字符串了,这里json就要用load string(loads)的方式读才对