模块(三)

模块(三)

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')

posted @ 2019-11-19 07:55  Mr-Allen  阅读(84)  评论(0编辑  收藏  举报