python自动生成文档/报告/邮件

使用 python 处理excel

  • openpyxl

    • 读写excel2000
    • workbook 对象是excel工作簿的抽象
    • worksheet 对象时对表格的抽象,
    • cell 是对单元格的抽象
        import openpyxl
        
        wb = openpyxl.load_workbook('123.xlsx')
        # wb的属性
        wb.active
        wb.read_only
        wb.encoding
        wb.worksheets
        
        # wb的方法
        wb.get_sheet_names()
        wb.get_active_sheet()
        ws = wb.get_active_by_name()
        
        wb.save('123.xlsx')
        
        # ws的属性
        ws.title # 修改title便能修改表格内sheet名属性
        ws.dimesions
        ws.max_column
        ws.min_column
        ws.max_row
        ws.min_row
        ws.columns
        ws.rows
        ws.valuse
        
        # ws的方法
        ws.iter_rows()
        ws.iter_columns()
        ws.append()
        ws.merged_cells()
        ws.unmersge_cells()
        
        ws.create_sheet
        ws.remove_sheet
        
        # 获取cell
        cell = ws['A1']
        cell = ws.cell(row=1, column=1)
        
        ws["A1"] = 'abc'
        
        # cell的属性
        cell.row
        cell.column
        cell.value
        cell.cordinate
    

python 操作pdf文档

  • pypdf2

    import PyPDF2
    
    reader = PyPDF2.PdfFileReader(open('123.pdf', 'rb'))
    
    reader.getNumPages() # 获取pdf文件页数
    
    reader.getIsEnCrypted() # 是否加密
    
    page = reader.getpage(4)
    
    page.extractText()
    
    reader.getDocumentInfo() # 获取pdf文件元信息
    
    # 写pdf文件
    output = PyPDF2.PdfFileWriter()
    
    output.addPage(reader.getPage(1))
    
    output.addPage(reader.getPage(4))
    
    output.addPage(reader.getPage(5))
    
    output.getNumPages()
    
    output.encrypt('123456') # 加密
    
    outputstream = open("put.pdf", 'wb')
    
    output.write(outputstream)
    
    outputstream.close()
    
    # 修改pdf页面
    writer = PyPDF2.PdfFileWriter()
    
    page = reader.getPage(0)
    
    page.rotateClockwise(180)
    
    writer.addPage(page)
    
    outputstream = open("123.pdf", 'wb')
    
    writer.write(outputstream)
    
    outputstream.close()
    
    page.mergePage(page1)  # 两个页面合并为一个页面
    
    # 合并文件
    merger = PyPDF2.PdfFileMerger()
    
    i1 = open('1.pdf', 'rb')
    i2 = open('2.pdf', 'rb')
    i3 = open('3.pdf', 'rb')
    
    merger.append(fileobj=i1, pages=(0,3))
    
    merger.merge(position=2, fileobj=i2, pages=(0,1))
    
    merger.append(i3)
    
    out = open('111.pdf', 'rb')
    
    merger.write(out)

PIL查看图片元信息

  • linux 下 exiftool 可以查看照片的 exif 信息
  • python 使用 pillow 查看图片信息
        from PIL import Image
        
        im = Image.open("123.jpg")
        
        im.format
        im.size
        im.mode
        
        im.rotate(45) # 旋转
        
        im.thumbnail((128.128)) # 生成缩略图
        
        # 获取 exif 信息
        im._getexit()
        PIL.ExifTage.TAGS
        PIL.ExifTage.GPSTAGS
    

python 发送邮件

python 操作邮件第三方包,可自行查看包使用方法,这里不再拆解

  • smtplib mime

  • yagmail

  • imapclient

  • pyzmail

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值