相关文章和数据源:

Python自动化办公--Pandas玩转Excel【一】

Python自动化办公--Pandas玩转Excel数据分析【二】

Python自动化办公--Pandas玩转Excel数据分析【三】


python处理Excel实现自动化办公教学(含实战)【一】

python处理Excel实现自动化办公教学(含实战)【二】

python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】


python入门之后须掌握的知识点(模块化编程、时间模块)【一】

python入门之后须掌握的知识点(excel文件处理+邮件发送+实战:批量化发工资条)【二】


spandas玩转excel码源.zip-数据挖掘文档类资源-CSDN下载

Python自动化办公(2021最新版!有源代码,).zip-

Python自动化办公(可能是B站内容最全的!有源代码,).zip-

上面是对应码源,图方便的话可以直接下载都分类分好了,当然也可以看文章。


1.知识巩固excel

这个系列文章主要以实例为主,学会每个demo,活学活用,办公效率提升飞快!

1.1 xlrd+xlwt读写excel

#安装命令:
pip install xlrdpip install xlwt

我们在读取文件的时候,excel的列是字母我们不容易直观看出来是第几列,下面对excel进行设置。

操作如下

import xlrd
# 打开excel
xlsx = xlrd.open_workbook('7月新.xls')sheet = xlsx.sheet_by_index(0)
data = sheet.cell_value(5, 1)
print(data)# for i in xlsx.sheet_names():
#     print(i)# table = xlsx.sheet_by_name(i)# print(table.cell_value(3, 3))
# 通过sheet名查找:xlsx.sheet_by_name("7月下旬入库表")
# 通过索引查找:xlsx.sheet_by_index(3)
# print(table.cell_value(0, 0))#单元格读取方式
print(sheet.cell_value(1, 2))
print(sheet.cell(0, 0).value)
print(sheet.row(0)[0].value)# for i in range(0, xlsx.nsheets):
#     sheet = xlsx.sheet_by_index(i)
#     print(sheet.name)# print(sheet.cell_value(0, 0))
#
# # 获取所有sheet名字:xlsx.sheet_names()
# # 获取sheet数量:xlsx.nsheets
#
# for i in xlsx.sheet_names():
#     print(i)# table = xlsx.sheet_by_name(i)# print(table.cell_value(3, 3))
import xlwt# 新建工作簿
new_workbook = xlwt.Workbook()
# 新建sheet
worksheet = new_workbook.add_sheet('new_test')
# 新建单元格,并写入内容-行列
worksheet.write(1, 2, 'test')
# 保存
new_workbook.save('test.xls')

1.2  xlutils设置格式

xlutils整体没有pandas设置来的方便

from xlutils.copy import copy
import xlrd
import xlwt# 安装:pip install xlutilstem_excel = xlrd.open_workbook('日统计.xls', formatting_info=True) #格式信息打开
tem_sheet = tem_excel.sheet_by_index(0)new_excel = copy(tem_excel)
new_sheet = new_excel.get_sheet(0)style = xlwt.XFStyle()# 字体
font = xlwt.Font()
font.name = '微软雅黑'
font.bold = True
# 18*20
font.height = 360
style.font = font# 边框:细线==THIN
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 = alignmentnew_sheet.write(2, 1, 12)
new_sheet.write(3, 1, 18)
new_sheet.write(4, 1, 19)
new_sheet.write(5, 1, 15)# new_sheet.write(2, 1, 12, style)
# new_sheet.write(3, 1, 18, style)
# new_sheet.write(4, 1, 19, style)
# new_sheet.write(5, 1, 15, style)new_excel.save('填写.xls')

1.3 自动生成统计报表【案例一:分数统计】


import xlrdimport xlwt# 读取excel文件
xlsx = xlrd.open_workbook('三年二班(各科成绩单).xls')
# 选择指定sheet
sheet = xlsx.sheet_by_index(0)all_data = []
# 统计共有多少学生,并去重
num_set = set()
for row_i in range(1, sheet.nrows):num = sheet.cell_value(row_i, 0)name = sheet.cell_value(row_i, 1)grade = sheet.cell_value(row_i, 3)student = {'num': num,'name': name,'grade': grade,}all_data.append(student)num_set.add(num)
# print(all_data)
# print(len(all_data))
# print(len(num_set))# 计算总分
sum_list = []
for num in num_set:name = ''sum = 0for student in all_data:# print(student['num'])# print(num)if num == student['num']:sum += student['grade']name = student['name']sum_stu = {'num': num,'name': name,'sum': sum}sum_list.append(sum_stu)
print(sum_list)# 写入新的excel# 新建工作簿
new_workbook = xlwt.Workbook()
# 新建sheet
worksheet = new_workbook.add_sheet('2班')
# 新建单元格,并写入内容
# 写入第一列的内容
worksheet.write(0, 0, '学号')
worksheet.write(0, 1, '姓名')
worksheet.write(0, 2, '总分')
# 自动写入后面的内容
for row in range(0,len(sum_list)):worksheet.write(row+1,0,sum_list[row]['num'])worksheet.write(row+1,1,sum_list[row]['name'])worksheet.write(row+1,2,sum_list[row]['sum'])
# 保存
new_workbook.save('2班学生总分.xls')

1.4 xlsxwriter 和openpyxl

xlwt会遇到不支持超过列256的表格

# import xlwt
#
# workbook = xlwt.Workbook()
# sheet0 = workbook.add_sheet('sheet0')
# for i in range(0,300):
#     sheet0.write(0,i,i)
# workbook.save('num.xls')# 不带格式
import xlsxwriter as xw
workbook = xw.Workbook('number.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('number.xlsx')
sheet0 = workbook['sheet0']
sheet0['B3']= '2'
sheet0['C2']= '4'
sheet0['D7']= '3'
workbook.save('num_open.xlsx')

1.5 xlwings和pandas

pandas在第一期已经详细讲解过,参考相关文章

Python用来处理Excel的全部可用库,以及它们的优缺点

xlwings具有以下优点:

- xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改
- 可以和matplotlib以及pandas无缝连接
- 可以调用Excel文件中VBA写好的程序,也可以让VBA调用用Python写的程序。
- 开源免费,一直在更新

#### 1、打开/新建Excel文档```python
import xlwings as xw
wb = xw.Book()  # 新建一个文档
wb = xw.Book('test.xlsx')  # 打开一个已有的文档
```#### 2、读取/写入数据```python
sht = wb.sheets['Sheet1'] # 找到指定sheet
print(sht.range('A1').value) # 读取指定单元格的数据,这里读的是A1
sht.range('B1').value = 10 # 给指定的空白单元格赋值,这里赋值的是B1
```#### 3、保存文件、退出程序```python
wb.save(r'test.xlsx') #保存Excel文档,命名为test.xlsx,并保存在D盘
wb.close() # 退出程序,该步骤不可省略
```#### 4、连接pandas处理复杂数据```python
import pandas as pd
df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b'])
sht.range('A1').value = df
sht.range('A1').options(pd.DataFrame, expand='table').value
```#### 5、连接**Matplotlib** 画图```python
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([1, 2, 3, 4, 5])
sht.pictures.add(fig, name='MyPlot', update=True)

1.6 案例实战---把文件名整理到excel中

import os
import xlwt# 目标文件夹
file_path = 'd:/'
# 取出目标文件夹下的文件名
os.listdir(file_path)new_workbook = xlwt.Workbook()
sheet = new_workbook.add_sheet('new_dir')n = 0
for i in os.listdir(file_path):sheet.write(n,0,i)n+=1
new_workbook.save('dir.xls')

1.7  案例实战---excel填充画

把一幅画导入到excel中用每个单元格背景色生成原画

# coding: utf-8from PIL import Image
from xlsxwriter.workbook import Workbookclass ExcelPicture(object):FORMAT_CONSTRAINT = 65536def __init__(self, pic_file, ratio=0.5):self.__pic_file = pic_fileself.__ratio = ratioself.__zoomed_out = Falseself.__formats = dict()# 缩小图片def zoom_out(self, _img):_size = _img.size_img.thumbnail((int(_img.size[0] * self.__ratio), int(_img.size[1] * self.__ratio)))self.__zoomed_out = True# 对颜色进行圆整def round_rgb(self, rgb, model):return tuple([int(round(x / model) * model) for x in rgb])# 查找颜色样式,去重def get_format(self, color):_format = self.__formats.get(color, None)if _format is None:_format = self.__wb.add_format({'bg_color': color})self.__formats[color] = _formatreturn _format# 操作流程def process(self, output_file='_pic.xlsx', color_rounding=False, color_rounding_model=5.0):# 创建xlsx文件,并调整行列属性self.__wb = Workbook(output_file)self.__sht = self.__wb.add_worksheet()self.__sht.set_default_row(height=9)self.__sht.set_column(0, 5000, width=1)# 打开需要进行转换的图片_img = Image.open(self.__pic_file)print('Picture filename:', self.__pic_file)# 判断是否需要缩小图片尺寸if self.__ratio < 1:self.zoom_out(_img)# 遍历每一个像素点,并填充对应的颜色到对应的Excel单元格_size = _img.sizeprint('Picture size:', _size)for (x, y) in [(x, y) for x in range(_size[0]) for y in range(_size[1])]:_clr = _img.getpixel((x, y))# 如果颜色种类过多,则需要将颜色圆整到近似的颜色上,以减少颜色种类if color_rounding: _clr = self.round_rgb(_clr, color_rounding_model)_color = '#%02X%02X%02X' % _clrself.__sht.write(y, x, '', self.get_format(_color))self.__wb.close()# 检查颜色样式种类是否超出限制,Excel2007对样式数量有最大限制format_size = len(self.__formats.keys())if format_size >= ExcelPicture.FORMAT_CONSTRAINT:print('Failed! Color size overflow: %s.' % format_size)else:print('Success!')print('Color: %s' % format_size)print('Color_rounding:', color_rounding)if color_rounding:print('Color_rounding_model:', color_rounding_model)if __name__ == '__main__':r = ExcelPicture('test.jpg', ratio=0.5)r.process('0407.xlsx', color_rounding=True, color_rounding_model=5.0)
# 同级目录

效果如下:

原图

下面可以看到有一点糊是因为填充单元格可以当作像素点来考虑

2.自动化处理word

安装库

>pip install python-docx

- python-docx
    - 说明文档:https://python-docx.readthedocs.io/en/latest/#api-documentation

2.1 自动生成word【批量化写模板文档】

from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt
from docx.oxml.ns import qnimport timeprice = input('请输入工资调整金额:')
# 全体员工姓名
company_list = ['员工1', '员工1', '员工2', '员工3', '员工4','员工5', '员工6', '员工7', '员工8', '员工9', '员工10']
# word和excel可以结合# excel学习:for
# 当天的日期!
today = time.strftime("%Y{y}%m{m}%d{d}", time.localtime()).format(y='年', m='月', d='日')for i in company_list:document = Document()# 设置文档的基础字体document.styles['Normal'].font.name = u'宋体'# 识别中文document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')# 建立一个自然段p1 = document.add_paragraph()# 对齐方式为居中,没有这句的话默认左对齐p1.alignment = WD_ALIGN_PARAGRAPH.CENTERrun1 = p1.add_run('关于%s工资调整的通知' % (today))run1.font.name = '微软雅黑'run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')run1.font.size = Pt(21)run1.font.bold = Truep1.space_after = Pt(5)p1.space_before = Pt(5)p2 = document.add_paragraph()run2 = p2.add_run(i + ':')run2.font.name = '宋体'run2.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run2.font.size = Pt(16)run2.font.bold = Truep3 = document.add_paragraph()run3 = p3.add_run('因为疫情影响,我们很抱歉的通知您,您的工资调整为每月%s元,特此通知' % price)run3.font.name = '宋体'run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run3.font.size = Pt(14)p4 = document.add_paragraph()p4.alignment = WD_ALIGN_PARAGRAPH.RIGHTrun4 = p4.add_run('人事:王小姐 电话:686868')run4.font.name = '宋体'run4.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run4.font.size = Pt(14)run4.font.bold = Truedocument.save('%s-工资调整通知.docx' % i)

其中在读取员工信息这块可以和excel结合。

2.2 批量化写模板文档【并添加图片和表格】

新的要求,要求小杨在通知函上方加上图片红头,价格数据以表格形式展示。并在第二页加
上广告【插入分页符】。

效果如下:

from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt
from docx.oxml.ns import qn
from docx.shared import Inchesimport timeprice = input('请输入工资调整金额:')
company_list = ['员工1', '员工1', '员工2', '员工3', '员工4','员工5', '员工6', '员工7', '员工8', '员工9', '员工10', ]
today = time.strftime("%Y{y}%m{m}%d{d}", time.localtime()).format(y='年', m='月', d='日')
for i in company_list:document = Document()# 设置文档的基础字体document.styles['Normal'].font.name = u'宋体'document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')# 红头文件加入文件document.add_picture('title002.jpg', width=Inches(6))# 建立一个自然段p1 = document.add_paragraph()# 对齐方式为居中,没有这句的话默认左对齐p1.alignment = WD_ALIGN_PARAGRAPH.CENTERrun1 = p1.add_run('关于%s工资调整的通知' % (today))run1.font.name = '微软雅黑'run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')run1.font.size = Pt(21)run1.font.bold = Truep1.space_after = Pt(5)p1.space_before = Pt(5)p2 = document.add_paragraph()run2 = p2.add_run(i + ':')run2.font.name = '宋体'run2.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run2.font.size = Pt(16)run2.font.bold = Truep3 = document.add_paragraph()run3 = p3.add_run('因为疫情影响,我们很抱歉的通知您,您的工资调整为每月%s元,特此通知。' % price)run3.font.name = '宋体'run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run3.font.size = Pt(14)#添加表格table = document.add_table(rows=2, cols=2, style='Table Grid')#默认格式# 合并单元格table.cell(0, 0).merge(table.cell(0, 1)) #坐上合并到右下table_run1 = table.cell(0, 0).paragraphs[0].add_run('签名栏')table_run1.font.name = '黑体'table_run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'黑体')table.cell(0, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTERtable.cell(1, 0).text = itable.cell(1, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTERp4 = document.add_paragraph()p4.alignment = WD_ALIGN_PARAGRAPH.RIGHTrun4 = p4.add_run('人事:王小姐 电话:686868')run4.font.name = '宋体'run4.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run4.font.size = Pt(14)run4.font.bold = True#插入分页符document.add_page_break()p5= document.add_paragraph()run4=p5.add_run("此处是广告")document.save('%s-工资调整通知.docx' % i)

2.3 读取word文档【 文字+表格混合文档:

from docx import Documentdocument = Document('pure.docx')
all_paragraphs = document.paragraphs
for p in all_paragraphs:print(p.text)# excel写入

 如果word里是表格呈现读取如下:

 文字+表格形式:

word基本格式问题:把word重名后缀为zip的文件,打开看到里面有xml的格式文件

导入zipfile库解压文件,设置格式只读取我们需要的文字:进行组合。

import zipfileword_book = zipfile.ZipFile('word_table.docx')
xml = word_book.read("word/document.xml").decode('utf-8')
# print(xml)
xml_list = xml.split('<w:t>')
# print(xml_list)
text_list = []
for i in xml_list:if i.find('</w:t>') + 1:text_list.append(i[:i.find('</w:t>')])else:pass
text = "".join(text_list)
print(text)

2.4 word转pdf(批量化)

安装库:

pip install pywin32
from win32com.client import Dispatch,constants,gencachedoc_path = 'test.docx'
pdf_path = 'test.pdf'gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}',0,8,4)
wd = Dispatch("Word.Application")
doc = wd.Documents.Open(doc_path,ReadOnly=1)
doc.ExportAsFixedFormat(pdf_path,constants.wdExportFormatPDF,Item=constants.wdExportDocumentWithMarkup,CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
wd.Quit(constants.wdDoNotSaveChanges)

在执行时报错了,下面来说解决方法。
参考网站:

win32api pywin32 安装后出现 ImportError: DLL load failed_mengfanteng的博客-CSDN博客

  • 找到我们安装python的文件夹,在Lib文件中找到site-packages\pywin32_system32
  • D:\Program Files (x86)\Python\Python36\Lib\site-packages\pywin32_system32
  • 把里面的所有的文件复制到:C:\Windows\System32
import os
from win32com.client import Dispatch,constants,gencachefrom docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt
from docx.oxml.ns import qnimport timeprice = input('请输入工资调整金额:')
# 全体员工姓名
company_list = ['员工1', '员工1', '员工2', '员工3', '员工4', '员工5', '员工6', '员工7', '员工8', '员工9', '员工10' ]
# 当天的日期
today = time.strftime("%Y{y}%m{m}%d{d}", time.localtime()).format(y='年', m='月', d='日')for i in company_list:document = Document()# 设置文档的基础字体document.styles['Normal'].font.name = u'宋体'# 识别中文document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')# 建立一个自然段p1 = document.add_paragraph()# 对齐方式为居中,没有这句的话默认左对齐p1.alignment = WD_ALIGN_PARAGRAPH.CENTERrun1 = p1.add_run('关于%s工资调整的通知' % (today))run1.font.name = '微软雅黑'run1.element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')run1.font.size = Pt(21)run1.font.bold = Truep1.space_after = Pt(5)p1.space_before = Pt(5)p2 = document.add_paragraph()run2 = p2.add_run(i + ':')run2.font.name = '宋体'run2.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run2.font.size = Pt(16)run2.font.bold = Truep3 = document.add_paragraph()run3 = p3.add_run('因为疫情影响,我们很抱歉的通知您,您的工资调整为每月%s元,特此通知' % price)run3.font.name = '宋体'run3.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run3.font.size = Pt(14)p4 = document.add_paragraph()p4.alignment = WD_ALIGN_PARAGRAPH.RIGHTrun4 = p4.add_run('人事:王小姐 电话:686868')run4.font.name = '宋体'run4.element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')run4.font.size = Pt(14)run4.font.bold = Truedocument.save('%s-工资调整通知.docx' % i)doc_path = '%s-工资调整通知.docx' % ipdf_path = '%s-工资调整通知.pdf' % igencache.EnsureModule('{00020905-0000-0000-C000-000000000046}',0,8,4)wd = Dispatch("Word.Application")doc = wd.Documents.Open(doc_path,ReadOnly=1)doc.ExportAsFixedFormat(pdf_path,constants.wdExportFormatPDF,Item=constants.wdExportDocumentWithMarkup,CreateBookmarks=constants.wdExportCreateHeadingBookmarks)wd.Quit(constants.wdDoNotSaveChanges)time.sleep(10)

3.PDF识别以及读取PDF中文字【pdf合并】

3.1 使用 pdfplumber和PyPDF2

安装库:

pip install pdfplumberpip install PyPDF2

参考文章:

PDFPlumber使用入门_顺其自然~的博客-CSDN博客_pdfplumber

import PyPDF2
import pdfplumberdef extract_content(pdf_path):# 内容提取,使用 pdfplumber 打开 PDF,用于提取文本with pdfplumber.open(pdf_path) as pdf_file:# 使用 PyPDF2 打开 PDF 用于提取图片pdf_image_reader = PyPDF2.PdfFileReader(open(pdf_path, "rb"))print(pdf_image_reader.getNumPages())content = ''# len(pdf.pages)为PDF文档页数,一页页解析for i in range(len(pdf_file.pages)):print("当前第 %s 页" % i)# pdf.pages[i] 是读取PDF文档第i+1页page_text = pdf_file.pages[i]# page.extract_text()函数即读取文本内容page_content = page_text.extract_text()if page_content:content = content + page_content + "\n"print(page_content)extract_content('静夜思.pdf')

合并pdf

from PyPDF2 import PdfFileReader, PdfFileWriterdef merge_pdfs(paths, output):pdf_writer = PdfFileWriter()for path in paths:pdf_reader = PdfFileReader(path)for page in range(pdf_reader.getNumPages()):# 把每张PDF页面加入到这个可读取对象中pdf_writer.addPage(pdf_reader.getPage(page))# 把这个已合并了的PDF文档存储起来with open(output, 'wb') as out:pdf_writer.write(out)if __name__ == '__main__':paths = ['静夜思.pdf', '静夜思.pdf']merge_pdfs(paths, output='pandas官方文档中文版.pdf')
from PyPDF2 import PdfFileReader, PdfFileWriterdef merge_pdfs(paths, output):pdf_writer = PdfFileWriter()for path in paths:pdf_reader = PdfFileReader(path)for page in range(pdf_reader.getNumPages()):# 把每张PDF页面加入到这个可读取对象中pdf_writer.addPage(pdf_reader.getPage(page))# 把这个已合并了的PDF文档存储起来with open(output, 'wb') as out:pdf_writer.write(out)if __name__ == '__main__':paths = ['study.pdf', 'labuladong的算法小抄官方完整版.pdf']merge_pdfs(paths, output='pandas官方文档中文版.pdf')

3.2 pdfminer(推荐)

读取:

4.ppt自动化操作

python-pptx说明文档
    - https://pypi.org/project/python-pptx/

# pip install python-pptx

4..1在ppt中写入文字

from pptx import Presentation
from pptx.util import Inches,Ptppt = Presentation()
slide = ppt.slides.add_slide(ppt.slide_layouts[1])# 在PPT中插入一个幻灯片body_shape = slide.shapes.placeholders
# body_shape[0].text = '这是占位符0'
# body_shape[1].text = '这是占位符1'
#
title_shape = slide.shapes.title
title_shape.text = '这是标题'
# subtitle = slide.shapes.placeholders[1] #取出本页第二个文本框
# subtitle.text = '这是文本框'
#
# new_paragraph = body_shape[1].text_frame.add_paragraph()
# new_paragraph.text = '新段落'
# new_paragraph.font.bold = True
# new_paragraph.font.italic = True
# new_paragraph.font.size = Pt(15)
# new_paragraph.font.underline = True
#
left = Inches(2)
top = Inches(2)
width = Inches(3)
height = Inches(3)
#
#
#
textbox = slide.shapes.add_textbox(left,top,width,height)
textbox.text = 'new textbox'
# 如何在文本框里添加第二段文字?
# new_para = textbox.text_frame.add_paragraph()
# new_para.text = '第二段文字'
#ppt.save('test.pptx')

4.2 在ppt插入图片表格


# pip install python-pptx
from pptx import Presentation
from pptx.util import Inches,Ptppt = Presentation()
slide = ppt.slides.add_slide(ppt.slide_layouts[1])# 在PPT中插入一个幻灯片left = Inches(1)
top = Inches(1)
width = Inches(2)
height = Inches(2)img = slide.shapes.add_picture('img.jpg',left,top,width,height)rows = 2
cols = 2
left = Inches(1)
top = Inches(1)
width = Inches(4)
height = Inches(4)table = slide.shapes.add_table(rows,cols,left,top,width,height).table
table.columns[0].width = Inches(1)
table.columns[1].width = Inches(3)
table.cell(0,0).text = '00'
table.cell(0,1).text = '01'
table.cell(1,0).text = '10'
table.cell(1,1).text = '11' #二进制的11,代表十进制的多少?ppt.save('text.pptx')

python自动化高效办公第二期,带你项目实战【一】{excel数据处理、批量化生成word模板、pdf和ppt等自动化操作}相关推荐

  1. python自动化高效办公第二期,带你项目实战【二】{数据可视化、发送邮件(定时任务监控)、python聊天机器人(基于微信、钉钉)}

    相关文章和数据源: python自动化高效办公第二期,带你项目实战[一]{excel数据处理.批量化生成word模板.pdf和ppt等自动化操作} Python自动化办公--Pandas玩转Excel ...

  2. linux运维脚本编写,最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本...

    最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本 大家可以通过参考下面的课程学习目录,就会发现单单只从目录上来分析就知道这是一部非常系统的Shell自动化脚本运 ...

  3. 学习推荐《精通Python网络爬虫:核心技术、框架与项目实战》中文PDF+源代码

    随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来.对特定的数据进 ...

  4. 《精通Python网络爬虫:核心技术、框架与项目实战》——1.3 网络爬虫的组成...

    本节书摘来自华章出版社<精通Python网络爬虫:核心技术.框架与项目实战>一书中的第1章,第1.3节,作者 韦 玮,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  5. python如何高效办公_Python教你高效办公,自制屏幕翻译工具

    python视频教程栏目为大家介绍Python自制屏幕翻译工具的方法. 免费推荐:python视频教程 1. 场景 大家如果平常遇到不认识的英文,相信大部分的人都会复制内容后,使用翻译软件,或者拷贝到 ...

  6. python网络爬虫技术 江吉彬下载 pdf_精通Python网络爬虫:核心技术、框架与项目实战 附源码 中文pdf完整版[108MB]...

    精通Python网络爬虫这是一本实战性的网络爬虫秘笈,不仅讲解了如何编写爬虫,而且还讲解了流行的网络爬虫的使用. 全书分为4个部分:第壹部分对网络爬虫做了概要性的介绍,主要介绍了网络爬虫的常识和所涉及 ...

  7. python将Excel数据自动生成Word报告【Pyhon-docx\openpyxl】

    我写在了知乎,图片没有搬运过来.链接:https://zhuanlan.zhihu.com/p/371767402 需求:日常工作中,需要对Excel表格的数据进行筛选计算整理,然后将数据做成Word ...

  8. 精通python网络爬虫-精通Python网络爬虫:核心技术、框架与项目实战

    -- 目录 -- 前言 第一篇 理论基础篇 第1章 什么是网络爬虫 1.1 初识网络爬虫 1.2 为什么要学网络爬虫 1.3 网络爬虫的组成 1.4 网络爬虫的类型 1.5 爬虫扩展--聚焦爬虫 1. ...

  9. 精通python网络爬虫-精通Python网络爬虫:核心技术、框架与项目实战 PDF

    给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.Python网络爬虫.Python核心技术.Python框架.Python项目实战方面的内容,本书是由机械工业出版社出版, ...

最新文章

  1. put the eye care sticker on the neck is relief
  2. java桥_java 泛型--桥方法
  3. mysql csdn 知乎_CSDN 怎么样?
  4. 元宇宙系列白皮书——未来已来:全球XR产业洞察
  5. issues:close 云端 STS 启动报找不到 jdk
  6. CCF201312-1 出现次数最多的数(100分)
  7. 设计学习---《大象》之系统分析
  8. 使用DataAnnotations实现数据验证
  9. swagger2.2.2报错:relProviderPluginRegistry,linkDiscovererRegistry,entityLinksPluginRegistry
  10. AD9361 补充(中)
  11. 《SEM长尾搜索营销策略解密》一一2.13 ZARA,零售界的长尾赢家
  12. win10安装Dreamweaver cc 2019报无法写入注册表的错误
  13. bellman ford java_Bellman-Ford算法
  14. 基于Hi3516DV300rtmp交叉编译移植
  15. pyqt5按钮拖拽,实现拖拽新增和拖拽移动
  16. O2O优惠券使用新人赛数据发掘工程
  17. C#超市进销存系统管理源码(CS架构)
  18. (理财一)如何为家庭配置保险
  19. css3设置字体阴影
  20. 骁龙820A:座舱域控制器介绍

热门文章

  1. 揭秘时空大数据:详细介绍、真实应用场景和数据示例解析
  2. node-sass的安装,以及出现的问题及解决方法
  3. 外企上班族常用英语对话十句
  4. 5g无线图传信号测试软件,5GWIFI信号和2.4GWFI信号有什么区别?
  5. Android Qcom Display学习(九)
  6. 爬虫实战二:百度贴吧之全吧搜索
  7. 如何写出一本畅销书?
  8. 【架构师】解决方案架构师常用的5种类型架构图
  9. 2023广西大学计算机考研信息汇总
  10. 在 RHEL 8.6 linux系统里安装达芬奇18.1软件缺少的依赖软件,需要下载安装。 20221111.