excel——自动化办公中篇

def func_excel():
    #一、读
    import xlrd
    xlsx=xlrd.open_workbook('test1.xlsx')   #打开工作簿
    table=xlsx.sheet_by_index(0)            #读第0个工作表
    table=xlsx.sheet_by_name('Sheet1')      #读名为'Sheet1'的工作表
    print(table.cell_value(1,1))            #读第1行第1列的值
    print(table.cell(1,1).value)            #读第1行第1列的值

    #二、写
    import xlwt                             #最多256列
    new_workbook=xlwt.Workbook()            #打开工作簿
    worksheet=new_workbook.add_sheet('new_test')#创建新工作簿
    worksheet.write(0,0,'test')             #在第0行第0列写入‘test’
    new_workbook.save('test2.xls')          #保存为xls格式的文件

    #三、格式
    from xlutils.copy import copy
    import xlrd
    import xlwt

    style=xlwt.XFStyle()
    font=xlwt.Font()
    font.name='微软雅黑'
    font.bold=True
    font.height=360 #即18字号,要乘20像素
    style.font=font

    borders=xlwt.Borders()
    borders.top=xlwt.Borders.THIN
    borders.bottom=xlwt.Borders.THIN
    borders.left=xlwt.Borders.THIN
    borders.right=xlwt.Borders.THIN
    style.borders=borders

    alignment=xlwt.Alignment()
    alignment.horz=xlwt.Alignment.HORZ_CENTER
    alignment.vert=xlwt.Alignment.VERT_CENTER
    style.alignment=alignment

    tem_excel=xlrd.open_workbook('test2.xls',formatting_info=True)
    new_excel=copy(tem_excel)           #相当于tem_excel是模板
    new_sheet=new_excel.get_sheet(0)
    new_sheet.write(2,1,12,style)
    new_sheet.write(3,1,13,style)
    new_sheet.write(4,1,14,style)
    new_sheet.write(5,1,15,style)
    new_excel.save('new_test.xls')

    import xlsxwriter as xw                 #不支持格式!
    workbook=xw.Workbook('test3.xlsx')
    sheet0=workbook.add_worksheet('sheet0')
    for i in range(0,300):
        sheet0.write(0,i,i)
    workbook.close()                        #更新就是原文件!

    import openpyxl                         #性能不是特别稳定
    workbook=openpyxl.load_workbook('test4.xlsx')
    sheet0=workbook['sheet0']
    sheet0['B3']='5'
    sheet0['B4']='5'
    sheet0['B5']='5'
    sheet0['B6']='77'
    workbook.save('test5.xlsx')             #保存为新文件

    # 代码数量挺多的,特别是格式处理,所以每一次都这么写是不现实的
    # python操作excel,主要是用来解决重复批处理的操作
    # 例如,网站数据库中的数据定期备份或更新,我给OS写个计划任务定期执行.py文件

    #最后补充一下用pandas读写
    import pandas as pd
    xlsx=pd.ExcelFile('test1.xlsx')         #用pandas获取工作簿话柄
    print(type(xlsx.parse('Sheet1')))       #再获取工作表内容此时转化为dataframe
    xlsx.parse('Sheet1').to_excel('test9.xlsx')

func_excel()

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值