模块(三)
json模块
json是一个第三方模块,作用是序列化数据,在不同的语言中传输数据
序列化:
python数据类型–>json数据类型–>字符串–>文件中(若想将元组转换成json数据,内部会将元组—>列表)
反序列化:
文件中–>字符串–>json数据类型–>其他语言数据类型
注意:在python中所有字符串都是双引号
使用方法:
import json
json.dumps()
#序列化:python数据类型-->json-->字符串-->json文件
json.loads()
#反序列化:json文件中-->字符串-->json-->python或其他语言数据
json.dump()
#方法同上;内部实现f.write()
json.load()
#方法同上;内部实现f.read()
数据对象 = json.dumps(数据,ensure_sacii=true)默认为true,改为false可以在控制台看到中文,否则是bytes类型
注意:保存数据时,一定要以.json为后缀名;并且元组是不可序列化的.
pickle模块
python解释器自带模块
优点:
支持python所有数据类型;
可以直接存bytes类型,存取速度更快
缺点:
只支持python语言,不能跨平台(非常致命的缺点)
使用方法与json方法雷同,都是dump和load.
collections模块
提供python八大数据类型之外的数据类型
collections具名元组,应用场景–坐标;并且提供了有序 的字典.(python中字典默认是无序的,按key取值)
传入可迭代对象是有序的
point = namedtuple('坐标',['x','y'])第二个参数既可以传入可迭代对象
openpyxl模块
第三方模块,可以对excle表格进行操作的模块
写入数据:
#获取表对象
wb_obj = workbook()
wb1 = wb_obj.creat_sheet('创建的表格名',1)
wb1.title = '填修改的表格名'
#添加数据
wb1['工作表路径']
wb1['A10'] = 200
wb1['B10'] = 1000
wb1['c10'] = '=sum(A10:B10)'
#生成表格
wb_obj.save('表格名.xlsx')
#读取数据
wb_obj = load_workbook('表格名.xlsx')
批量写入数据
# 批量写入100条数据
from openpyxl import Workbook
wb_obj = Workbook()
wb1 = wb_obj.create_sheet('工作表1')
# wb1['表格位置'] = 对应的值
# n = 1
# for line in range(100):
# wb1['A%s' % n] = line + 1
# n += 1
# 假设: 一万条数据的字典
dict1 = {
'name': 'tank',
'age': 17
}
n = 1
init_val = 65
chr(65) # 65-90
for key, value in dict1.items():
wb1['A%s' % n] = key
wb1['B%s' % n] = value
n += 1
wb_obj.save('批量插入的数据2.xlsx')