zoukankan      html  css  js  c++  java
  • excel相关

    xlrd   openpyxl  库

    应该是自带了,反正我是没安装,csv也可制作表格,关于csv以后介绍

    基本操作

    import xlrd
    book = xlrd.open_workbook('filename')
    book.nsheets   # 表单数量
    book.sheet_names()  # 表单名
    
    
    
    要读取某个表单里单元格中的数据,必须要先获取 表单(sheet)对象 。
    # 表单索引从0开始,获取第一个表单对象
    book.sheet_by_index(0)
    
    # 获取名为2018的表单对象
    book.sheet_by_name('2018')
    
    # 获取所有的表单对象,放入一个列表返回
    book.sheets()
    官方文档:https://xlrd.readthedocs.io/en/latest/api.html#xlrd-sheet
    
    
    表单行数(nrows)
    列数(ncols)
    表单名(name)
    表单索引(number)
    
    
    
    
    '''
    book = xlrd.open_workbook("income.xlsx")
    
    sheet = book.sheet_by_index(0)
    sheet.name
    sheet.number
    sheet.nrows
    sheet.ncols
    '''
    
    cell_value 方法,参数为行号和列号,读取指定单元格中的文本内容。
    
    sheet.cell_value(rowx=0, colx=0)
    
    row_values 方法,参数为行号,读取指定行所有单元格的内容,存放在一个列表中返回。
    
    sheet.row_values(rowx=0)
    
    col_values 方法,参数为列号,读取指定列所有单元格的内容,存放在一个列表中返回。
    
    sheet.col_values(colx=0)
    其他参数可自己看源码 =_=
    import openpyxl
    
    # 创建一个Excel workbook 对象
    book = openpyxl.Workbook()
    
    # 创建时,会自动产生一个sheet,通过active获取
    sh = book.active
    
    # 修改当前 sheet 标题为 工资表
    sh.title = '工资表'
    
    # 保存文件
    book.save('信息.xlsx')
    
    
    
    
    
    # 增加一个名为 '年龄表' 的sheet,放在最后
    sh1 = book.create_sheet('年龄表-最后')
    
    # 增加一个 sheet,放在最前
    sh2 = book.create_sheet('年龄表-最前',0)
    
    # 增加一个 sheet,指定为第2个表单
    sh3 = book.create_sheet('年龄表2',1)
    
    # 根据名称获取某个sheet对象
    sh = book['工资表']
    
    
    
    
    
    # 给第一个单元格写入内容
    sh['A1'] = '你好'
    
    # 获取某个单元格内容
    print(sh['A1'].value)
    
    # 根据行号列号, 给第一个单元格写入内容,
    # 注意和 xlrd 不同,是从 1 开始
    sh.cell(2,2).value = 'zzz'
    
    # 根据行号列号, 获取某个单元格内容
    print(sh.cell(1, 1).value)
    
    book.save('信息.xlsx')
    
    
    
    
    name2Age = {
        '张飞' :  38,
        '赵云' :  27,
        '许褚' :  36,
        '典韦' :  38,
        '关羽' :  39,
        '黄忠' :  49,
        '徐晃' :  43,
        '马超' :  23,
    }
    
    # 创建一个Excel workbook 对象
    book = openpyxl.Workbook()
    
    # 创建时,会自动产生一个sheet,通过active获取
    sh = book.active
    
    sh.title = '年龄表'
    
    # 写标题栏
    sh['A1'] =  '姓名'
    sh['B1'] =  '年龄'
    
    # 写入内容
    row = 2
    
    for name,age in name2Age.items():
        sh.cell(row, 1).value = name
        sh.cell(row, 2).value = age
        row += 1
    
    # 保存文件
    book.save('信息.xlsx')
    import openpyxl
    
    # 加载 excel 文件
    wb = openpyxl.load_workbook('income.xlsx')
    
    # 得到sheet对象
    sheet = wb['2017']
    
    sheet['A1'] = '修改一下'
    
    ## 指定不同的文件名,可以另存为别的文件
    wb.save('income-1.xlsx')
    
    
    
    insert_rows 和 insert_cols 方法,分别用来插入 行 和 列
    
    wb = openpyxl.load_workbook('income.xlsx')
    sheet = wb['2018']
    
    # 在第2行的位置插入1行
    sheet.insert_rows(2)
    
    # 在第3行的位置插入3行
    sheet.insert_rows(3,3)
    
    # 在第2列的位置插入1列
    sheet.insert_cols(2)
    
    # 在第2列的位置插入3列
    sheet.insert_cols(2,3)
    
    
    
    
    
    
    delete_rows 和 delete_cols 方法,分别用来插入 行 和 列
    
    wb = openpyxl.load_workbook('income.xlsx')
    sheet = wb['2018']
    
    # 在第2行的位置删除1行
    sheet.delete_rows(2)
    
    # 在第3行的位置删除3行
    sheet.delete_rows(3,3)
    
    # 在第2列的位置删除1列
    sheet.delete_cols(2)
    
    # 在第3列的位置删除3列
    sheet.delete_cols(3,3)
    文字     颜色、字体、大小、下划线 等
    
    import openpyxl
    # 导入Font对象 和 colors 颜色常量
    from openpyxl.styles import Font,colors
    
    wb = openpyxl.load_workbook('income.xlsx')
    sheet = wb['2018']
    
    # 指定单元格字体颜色,
    sheet['A1'].font = Font(color=colors.RED, #使用预置的颜色常量
                            size=15,    # 设定文字大小
                            bold=True,  # 设定为粗体
                            italic=True # 设定为斜体
                            )
    
    # 也可以使用RGB数字表示的颜色
    sheet['B1'].font = Font(color="981818")
    
    # 指定整行 字体风格, 这里指定的是第3行
    font = Font(color="981818")
    for y in range(1, 100): # 第 1 到 100 列
        sheet.cell(row=3, column=y).font = font
    
    # 指定整列 字体风格, 这里指定的是第2列
    font = Font(bold=True)
    for x in range(1, 100): # 第 1 到 100 行
        sheet.cell(row=x, column=2).font = font
    
    wb.save('income-1.xlsx')
    
    
    背景色
    
    import openpyxl
    # 导入Font对象 和 colors 颜色常量
    from openpyxl.styles import PatternFill
    
    wb = openpyxl.load_workbook('income.xlsx')
    sheet = wb['2018']
    
    # 指定 某个单元格背景色
    sheet['A1'].fill = PatternFill("solid", "E39191")
    
    # 指定 整行 背景色, 这里指定的是第2行
    fill = PatternFill("solid", "E39191")
    for y in range(1, 100): # 第 1 到 100 列
        sheet.cell(row=2, column=y).fill = fill
    
    wb.save('income-1.xlsx')
    
    
    插入图片
    
    
    import openpyxl
    from openpyxl.drawing.image import Image
    
    wb = openpyxl.load_workbook('income.xlsx')
    sheet = wb['2018']
    
    # 在第1行,第4列 的位置插入图片
    sheet.add_image(Image('1.png'), 'D1')
    
    ## 指定不同的文件名,可以另存为别的文件
    wb.save('income-1.xlsx')
    其他
  • 相关阅读:
    基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)
    BootStrap fileinput.js文件上传组件实例代码
    Bootstrap fileinput.js,最好用的文件上传组件
    JS组件系列——Bootstrap文件上传组件:bootstrap fileinput
    JS文件上传神器bootstrap fileinput详解
    ***文件上传控件bootstrap-fileinput的使用和参数配置说明
    很清晰的解读i2c协议【转】
    高并发的socket的高性能设计【转】
    android dm-verity 功能【转】
    ARM的Jazelle技术【转】
  • 原文地址:https://www.cnblogs.com/JcrLive/p/12548679.html
Copyright © 2011-2022 走看看