• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python对Excel进行处理的实操指南

    xlrd、xlwt和openpyxl模块的比较:

    区别:

    模块 Excel格式支持
    xls xlsx
    xlrd
    xlwt ×
    openpyxl ×

    效率:

    两种包对小文件的读写速度差别不大,而面对较大文件,xlrd/xlwt速度明显优于openpyxl,但因为xlwt无法生成xlsx是个硬伤,所以想要尽量提高效率又不影响结果时,可以考虑用xlrd读取,用openpyxl写入。

    一、xlrd:对xls、xlsx文件进行读操作

    1.获取工作簿对象:xlrd.open_workbook()

    workBook = xlrd.open_workbook(filemname):打开Excel文件读取数据

    注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

    import xlrd
    filename=r'D:\记录表.xls'
    workBook=xlrd.open_workbook(filename)

    2.获取工作表(sheet)对象

    1)获取所有sheet页的名字,返回一个列表

    workBook.sheet_names()

    2)根据sheet页的名字获取指定表名的表,返回的是一个对象

    sheetName = workBook.sheet_by_name(‘sheet1')

    3)根据sheet索引获取对应sheet表(索引是从0开始的),返回的是一个对象

    sheetName = workbook.sheet_by_index(0)

    3.获取sheet的名称:name

    sheetName.name

    4.获取行数和列数:nrows、ncols

    1)获取表格的总行数

    sheetName.nrows
    

    2)获取表格的总列数

    sheetName.ncols
    

    5.获取整行或整列的值(数组):row_values、col_values

    rows = sheetName.row_values(0) # 获取第一行内容,返回一个列表
    cols = sheetName.col_values(0) # 获取第一列内容,返回一个列表
    
    
    

    6.获取指定单元格的值:cell(a,b).value、row(1)[0].value

    sheetName.cell(1,0).value # 获取第2行第一列的单元格数据
    sheetName.row(1)[0].value # 获取第2行第一列的单元格数据
    

    7.获取单元格内容的数据类型:ctype

    sheetName.cell(1,0).ctype
    
    

    注:返回为代表数据类型的值,编码分别代表:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error 

    二、xlwt:对xls文件进行写操作

    1.新建工作簿:xlwt.Workbook()

    workBook = xlwt.Workbook()

    2.在工作簿中新建sheet页:add_sheet()

    table = workBook .add_sheet(‘Over',cell_overwrite_ok=True) # 如果对同一单元格重复操作会发生overwrite Exception,cell_overwrite_ok为可覆盖
    sheet = workBook .add_sheet(sheet_name) # 新增sheet表
    import xlwt
    wb=xlwt.Workbook(encoding='utf-8') # 创建一个工作薄
    sheet=wb.add_sheet('文件阅读记录信息表') # 创建一个工作表
    

    3.向表格中写入数据:write(i,j,value)

    sheet.write(i,j,value) # 向单元格(i,j)写入数据value
    

    4.保存工作簿:save()

    workBook.save(path)
    
    

    三、openpyxl:

    1、对xlsx文件进行写操作

    1).新建工作簿:openpyxl.Workbook()

    workBook = openpyxl.Workbook() # 新建工作簿
    

    2).在工作簿中新建sheet页:create_sheet()

    sheet = workBook .create_sheet(sheet_name) # 新增sheet表:sheet_name
    

    3).向表格中写入数据:cell(i,j,value) --索引从1计数

    sheet= workBook .active # 获得当前活跃的工作页,默认为第一个工作页
    sheet.cell(i,j,value) # 向单元格(i,j)第i行第j列写入数据value
    
    

    注意:行号和列号都从1开始计数,即(1,1)为第一行第一列

    4).保存工作簿:save()

    workBook .save(path)
    
    

    2、openpyxl:对xlsx文件进行读操作

    1).获取工作簿对象:openpyxl.load_workbook()

    workBook = openpyxl.load_workbook(filemname) # 读取xlsx文件
    

    注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

    2).获取工作表(sheet)对象

    workBook.get_sheet_names() # 获取所有sheet页的名字(所有工作表名)
    sheetName = workBook.get_sheet_by_name(‘sheet1') # 根据sheet页的名字获取指定表名的表
    sheetName = workBook.worksheets[0] # 根据sheet索引获取对应sheet表
    

    3).获取sheet的名称:title

    sheetName.title # 获取sheet的名称
    

    4).获取行数和列数:max_row、max_column

    sheetName.max_row # 获取表格的总行数
    sheetName.max_column # 获取表格的总列数
    

    5).获取整行或整列的值(数组):rows[i]、columns[i]

    rows = sheetName.rows # 获取每一行内容,这是一个生成器,里面是每一行数据,每一行数据由一个元组类型包裹
    cols = sheetName.columns # 获取每一列内容,同上
    sheetName.rows[0] # 获取第一行内容–索引从0计数
    sheetName.columns[0] # 获取第一列内容–索引从0计数
    

    6).获取指定单元格的值:cell(a,b).value–索引从1计数

    sheetName[‘A1'].value # 获取第1行第一(A)列的单元格数据
    sheetName.cell(1,1).value # 获取第1行第一列的单元格数据
    

    注:此处的行数和列数都是从1开始计数的,而在xlrd中是由0开始计数的

    总结

    到此这篇关于Python对Excel进行处理的文章就介绍到这了,更多相关Python对Excel处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python高手之路python处理excel文件(方法汇总)
    • 用python + openpyxl处理excel2007文档思路以及心得
    • 详解python中xlrd包的安装与处理Excel表格
    • Python Excel处理库openpyxl使用详解
    • 零基础使用Python读写处理Excel表格的方法
    • 使用Python处理Excel表格的简单方法
    • Python利用pandas处理Excel数据的应用详解
    • Python对CSV、Excel、txt、dat文件的处理
    • Python3使用xlrd、xlwt处理Excel方法数据
    • Python处理Excel文件实例代码
    上一篇:Pyqt5 实现窗口缩放,控件在窗口内自动伸缩的操作
    下一篇:Python批量获取基金数据的方法步骤
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python对Excel进行处理的实操指南 Python,对,Excel,进行,处理,