使用 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文档
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 操作邮件第三方包,可自行查看包使用方法,这里不再拆解