json模块
json 模块是一个系列化模块
一个第三方的特殊数据格式
可以将python数据类型----> json 数据格式 ----> 字符串 ----> 文件
其他语言想要使用python 的数据:
文件中 ----> 字符串 ------> json 数据格式 ------> 其他语言的数据类型
注意:在json中,所有的字符串都是双引号
元组比较特殊:
python中的元组,如将其转换成json数据,内部会将元组---> 列表
为什么要使用元组?
为了让不同的语言之间数据可以共享
使用方法:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import json """ - json.dumps: json.dumps(), f = open()---> f.write() #序列化:python数据类型--->json ----> 字符串 ----> json 文件 -json.loads: f = open(), str = d.read(), json.loads(str) # 反序列化: json文件 ---> 字符串---> json ----> python或其他语言 -json.dump(): #序列化:python数据类型 --->json--->字符串--->json文件 -内部实现:f.write -json.load()#反序列化:json文件---> 字符串--->json--->python或其他数据类型 - 内部实现: f.read() """
在使用json数据时,用json作为文件后缀名
pickle 模块
pickle 是一个Python 自带的序列化模块
优点: 可以支持python的所有数据类型
可以直接存“bytes"类型的数据 pickle 存取速度更快
缺点:只能支持python 使用,不能跨平台
使用方法:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
set1 = { 'tank', 'sean','jason' } #写 dump with open('teacher.pickle', 'wb')as f: pickle.dump(set1, f) with open('teacher.pickle', 'rb')as f: python_set = pickle.load(f) print(python_set) #读 load with open('teacher.pickle')
collections 模块
--- 提供python八大数据类型之外的其他数据类型
python 八大数据类型:
-- -整型 int --- 浮点型 float --- 字符串 str --- 字典 dict
--- 元组 tuple --- 列表 list --- 集合 set --- 布尔 bool
用法
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#具名元组: #他只是一个名字 #应用场景: #- 坐标 from collections import namedtuple point = nametuple('坐标',['x','y']) point = nametuple('坐标',('x', 'y')) point = nametuple('坐标','x y') #传参时,要与namedtuple第二个参数的个数一一对应 p = print(1,3) #扑克牌 #获取扑克牌对象 card = namedtuple('扑克牌', ['color','number']) #由扑克牌对象产生一张扑克牌 red_A = card('♥', 'A') black_K = card('♠', 'K') print(red_A) print(black_K) #有序字典 #python中字典默认是无序的 dic = dict({'x': 1,'y': 2, 'z': 3}) print(dic) print(type(dic)) for line in dic: print(line) from collections import OrderedDict order_dict = OrderedDict({'x': 1, 'y': 2, 'z': 3}) print(order_dict, '打印有序字典') print(type(order_dict)) print(order_dict.get('y') print(order_dict['y']) for line in order_dict: print(line)
openpyxl 模块
第三方模块
--- 可以对excle 表格进行操作的模块
第三方模块 需要进行下载 :pip install openpyxl
用法:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#写入数据 from openpyxl import Workbook #获取Excel文件对象 wb_obj = Workbook wb1 = wb_obj.create_sheet('python13学期工作表') #修改工作表名字 print(wb1.title) wb1.title = 'tankdsd' print(wb1.title) # 为第一张工作表添加值 wb1['工作簿中的表格位置'] wb1['A10'] = 200 wb1['B10'] = 1000 #生成Excel表格 #wb_obj.save('python13期.xlxs') #print('excel表格生成成功') #读取数据 from openpyxl import load_workbook wb_obj = load_workbook('python13期.xlxs') print(wb_obj) #wb_obj['表格名'] wb1 = wb_obj['tank大宝贝'] print(wb1['A10'].Value) #批量插入数据 (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