• Python3 读、写Excel文件


    首先,简单介绍一下EXECL中工作簿和工作表的区别:

    工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET)。

    • 一个工作簿就是一个独立的文件
    • 一个工作簿里面可以有1个或者多个工作表
    • 工作簿是工作表的集合

    1:使用python实现对Excel文件的读写,首先需要安装专用的模块(可以自己编写)xlrd,xlwt模块

    2:读取excel数据(注意事项:sheet编号,行号,列号都是从索引0开始)

     

    import xlrd
    
    # 设置路径
    path = 'E:/input.xlsx'
    # 打开execl
    workbook = xlrd.open_workbook(path)
    
    # 输出Excel文件中所有sheet的名字
    print(workbook.sheet_names())
    
    # 根据sheet索引或者名称获取sheet内容
    Data_sheet = workbook.sheets()[0]  # 通过索引获取
    # Data_sheet = workbook.sheet_by_index(0)  # 通过索引获取
    # Data_sheet = workbook.sheet_by_name(u'名称')  # 通过名称获取
    
    
    print(Data_sheet.name)  # 获取sheet名称
    rowNum = Data_sheet.nrows  # sheet行数
    colNum = Data_sheet.ncols  # sheet列数
    
    # 获取所有单元格的内容
    list = []
    for i in range(rowNum):
        rowlist = []
        for j in range(colNum):
            rowlist.append(Data_sheet.cell_value(i, j))
        list.append(rowlist)
    # 输出所有单元格的内容
    for i in range(rowNum):
        for j in range(colNum):
            print(list[i][j], '		', end="")
        print()
    
    # 获取整行和整列的值(列表)
    rows = Data_sheet.row_values(0)  # 获取第一行内容
    cols = Data_sheet.col_values(1)  # 获取第二列内容
    # print (rows)
    # print (cols)
    
    # 获取单元格内容
    cell_A1 = Data_sheet.cell(0, 0).value
    cell_B1 = Data_sheet.row(0)[1].value  # 使用行索引
    cell_C1 = Data_sheet.cell(0, 2).value
    cell_D2 = Data_sheet.col(3)[1].value  # 使用列索引
    print(cell_A1, cell_B1, cell_C1, cell_D2)
    
    # 获取单元格内容的数据类型
    # ctype:0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
    print('cell(0,0)数据类型:', Data_sheet.cell(0, 0).ctype)
    print('cell(1,0)数据类型:', Data_sheet.cell(1, 0).ctype)
    print('cell(1,1)数据类型:', Data_sheet.cell(1, 1).ctype)
    print('cell(1,2)数据类型:', Data_sheet.cell(1, 2).ctype)
    
    # 获取单元格内容为日期的数据
    date_value = xlrd.xldate_as_tuple(Data_sheet.cell_value(1,0),workbook.datemode)
    print(type(date_value), date_value)
    print('%d:%d:%d' % (date_value[0:3]))

    3:创建excel并写入数据

    import xlwt
    
    
    def set_style(name, height, bold=False):
        style = xlwt.XFStyle()   # 初始化样式
        font = xlwt.Font()       # 为样式创建字体
        font.name = name
        font.bold = bold
        font.color_index = 4
        font.height = height
    
        style.font = font
        return style
    
    
    def write_excel(path):
        # 创建工作簿
        workbook = xlwt.Workbook(encoding='utf-8')
        # 创建sheet
        data_sheet = workbook.add_sheet('demo')
        row0 = [u'字段名称', u'大致时段', 'CRNTI', 'CELL-ID']
        row1 = [u'测试', '15:50:33-15:52:14', 22706, 4190202]
        # 生成第一行和第二行
        for i in range(len(row0)):
            data_sheet.write(0, i, row0[i], set_style('Times New Roman', 220, True))
            data_sheet.write(1, i, row1[i], set_style('Times New Roman', 220, True))
    
        # 保存文件
        # workbook.save('demo.xls')
        workbook.save(path)
    
    
    if __name__ == '__main__':
        # 设置路径
        path = 'E:/demo.xls'
        write_excel(path)
        print(u'创建demo.xls文件成功')
  • 相关阅读:
    人与人之间的距离
    Web API之service worker
    css背景图等比例缩放,盒子随背景图等比例缩放
    js节流函数高级版
    vue实现百度搜索下拉提示功能
    vue实现图片点击放大
    css图片宽高相等设置
    sublime常用插件及配置
    css揭秘读书笔记
    webpack2.0简单配置教程
  • 原文地址:https://www.cnblogs.com/kongxiaoshuang/p/10014082.html
Copyright © 2020-2023  润新知