zoukankan      html  css  js  c++  java
  • python操作excel

    import xlrd
    from xlrd import open_workbook
    from xlutils.copy import copy
    
    from openpyxl import load_workbook
    import random
    import string
    
    def read_excel():
        # 打开文件
        workbook = xlrd.open_workbook(r'订单导入模板.xls')
    
        # 获取所有sheet
        print(workbook.sheet_names())
        sheet2_name = workbook.sheet_names()[0]
        print(sheet2_name)
    
        # 根据sheet索引或者名称获取sheet内容
        sheet1 = workbook.sheet_by_index(0)
        print('sheet1==',sheet1)
        print(sheet1.row_values(0))
        #sheet2 = workbook.sheet_by_name('Sheet1')
    
        # sheet的名称,行数,列数
        #print(sheet1.name, sheet2.nrows, sheet2.ncols)
    
        # 获取整行和整列的值(数组)
        #rows = sheet2.row_values(3)  # 获取第四行内容
        #cols = sheet2.col_values(2)  # 获取第三列内容
    
        #print(rows)
        #print(cols)
        # print(sheet2.cell(1, 0).value)
        # print(sheet2.cell_value(1, 0))
        # print(sheet2.row(1)[0].value)
    
        # 获取单元格内容的数据类型
        print(sheet1.cell(0, 0).ctype)  # 获取(2,1)单元格的类型,2行第1列
        print(sheet1.cell(0, 1).value)
    
        print(sheet1.cell(0, 1).ctype, sheet1.cell(0, 2).value)  # 获取数据类型和里面的值
        # print(sheet1.cell(1, 2).ctype, sheet1.cell(1, 2).value)  # 直接获取日期数据,会变成其他数据格式
        # print(sheet1.cell(1, 3).ctype, sheet1.cell(1, 3).value)  # 数据类型为0,值为空,就没有任何数据
    
    
    def write_excel():
        # 读取一个excel文件
        rd_excel = open_workbook(r'订单导入模板.xls')
        # 将xlrd的对象转化为xlwt的对象
        new_excel = copy(rd_excel)
        # 获得要操作的sheet
        table = new_excel.get_sheet(0)
        print(table)
        # 准备要输入的内容
        values = ['小明','小李','Lily','Toms','小王']
    
        # xlwt对象的写方法,参数分别是行、列、值
        table.write(1, 0, values[0])
        table.write(2, 0, values[1])
        table.write(3, 0, values[2])
        table.write(4, 0, values[3])
        table.write(5, 0, values[4])
    
        # xlwt对象的保存方法,这时便覆盖掉了原来的excel
        new_excel.save(r'订单导入模板1.xls')
    
    def read_xlsx():
        pass
    
    """
    导入订单创建数据1500条
    """
    def write_to_xlsx():
        wb = load_workbook(r'订单导入模板.xlsx')  # 生成一个已存在的wookbook对象
        wb1 = wb.active  # 激活sheet
        i = 2
        nember = 123456
        code = 1001
        name = '青汽'
        begin_name= "北京"
        end_name = "云南"
        while i <=1500:
            wb1.cell(i, 1, nember)
            wb1.cell(i, 2, code)
            wb1.cell(i, 3, name)
            wb1.cell(i, 4, begin_name)
            wb1.cell(i, 5, end_name)
            nember += 1
            code += 1
            i +=1
    
        wb.save(r'订单导入模板.xlsx')  # 保存
    
    
    """
    发车计划导入模板1500条
    """
    def write_to_xlsx2():
        wb = load_workbook(r'发车计划导入模板.xlsx')  # 生成一个已存在的wookbook对象
        wb1 = wb.active  # 激活sheet
        i = 2
    
        banxian_name = '班线'
        agent = "青汽"
        go_tme = "2019/01/09 17:33:00"
        vehicle = "B7T5T8"
        phone = "18;185"
    
        first_station = "北京"
        ending_station = "西藏"
    
        v = "1800"
    
        while i <=1500:
            wb1.cell(i, 1, banxian_name + str(i))
            wb1.cell(i, 2, agent)
            wb1.cell(i, 3, go_tme)
    
            wb1.cell(i, 4, vehicle)
            wb1.cell(i, 5, phone)
    
            wb1.cell(i,6,first_station)
            wb1.cell(i,7,ending_station)
    
            wb1.cell(i,8,v)
            i +=1
    
        wb.save(r'发车计划导入模板.xlsx')  # 保存
    
    def random_str():
        ran_str = '班线'.join(random.sample(string.ascii_letters + string.digits, 2))
        print(ran_str)
    
    
    
    #read_excel()
    #write_excel()
    #write_to_xlsx()
    #random_str()
    write_to_xlsx2()

    注意:pyhton中操作xls和xlsx是不一样滴

  • 相关阅读:
    分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
    java 对小数位的处理 BigDecimal DecimalFormat 常用操作 浅解
    事务 锁 悲观锁 乐观锁 概念 应用场景 使用方式 小记
    多项目使用同一个zookeeper,遇到的坑
    java线程关键字之volatile
    数据库事务
    Web.xml配置详解之context-param
    WINDOWS上KAFKA运行环境安装
    hibernate 之session学习
    windows 安装hadoop
  • 原文地址:https://www.cnblogs.com/jiyanjiao-702521/p/10391374.html
Copyright © 2011-2022 走看看