zoukankan      html  css  js  c++  java
  • json模块 pickle 模块 collections 模块 openpyxl 模块

    json模块

    json 模块是一个系列化模块

    一个第三方的特殊数据格式 

    可以将python数据类型----> json 数据格式 ----> 字符串 ----> 文件

    其他语言想要使用python 的数据:

    文件中 ----> 字符串 ------> json 数据格式 ------> 其他语言的数据类型

    注意:在json中,所有的字符串都是双引号

    元组比较特殊:

    python中的元组,如将其转换成json数据,内部会将元组---> 列表

     

    为什么要使用元组?

    为了让不同的语言之间数据可以共享

    使用方法:

    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()
      
    """
    View Code

    在使用json数据时,用json作为文件后缀名

    pickle 模块

    pickle 是一个Python 自带的序列化模块

    优点:  可以支持python的所有数据类型

    可以直接存“bytes"类型的数据 pickle 存取速度更快

    缺点:只能支持python 使用,不能跨平台

    使用方法:

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

    collections 模块

    --- 提供python八大数据类型之外的其他数据类型

    python 八大数据类型:

    -- -整型 int     --- 浮点型 float      --- 字符串  str   --- 字典 dict

    --- 元组 tuple  ---  列表 list   --- 集合 set   --- 布尔 bool

    用法

    #具名元组:
        #他只是一个名字 
        #应用场景:
         #- 坐标
    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)
    View Code

    openpyxl 模块

    第三方模块

    ---  可以对excle 表格进行操作的模块

    第三方模块 需要进行下载 :pip install openpyxl

    用法:

    #写入数据
    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
    View Code

     

  • 相关阅读:
    用栈实现队列
    “非常规”的漏洞挖掘思路与技巧-请求参数加密,js接口- 漏洞定级评分的标准与关注点-违规测试标准详解
    【linux 文件管理】2-文件目录命令
    EHC
    kali linux高级渗透测试第七课
    maltego CE社区版-Domain与DNS name
    name servers-域名服务器
    【linux 文件管理】1-文件目录结构
    web应用安全自学指南
    kali linux高级渗透测试第六课
  • 原文地址:https://www.cnblogs.com/127-2933/p/11943246.html
Copyright © 2011-2022 走看看