首页 网站首页 商业资讯 操作 查看内容

Python自动化操作PPT看这一篇就够了

私域电商 操作 2023-3-21 13:48 5689人围观

1. PPT自动化能干什么?有什么上风?

  • 它可以取代你自动建造PPT
  • 它可以削减你调剂用于调剂PPT格式的时候
  • 它可以让数据报告气概分歧
  • 总之就是:它能进步你的工作效力!让你有更多时候去做其他工作!

2. 利用win32com操纵ppt

官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.shape.copy

2.1 pip安装win32com

pip install pypiwin32

由于我已经安装过了,这里提醒已经安装



2.2 win32com复制ppt模板

偶然辰我们需要对ppt的模板停止复制,然后再增加响应内容,由于python-pptx对复制模板也没有很好的支持(我没找到~忧伤),所以我们用win32com对模板页停止复制,然后再用python-pptx增加ppt内容。

参考官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.slide.copy



先预备好一张模板: 2.2 win32 ppt测试.pptx



示例代码:

import win32com
from win32com.client import Dispatch
import os

ppt = Dispatch('PowerPoint.APPlication')
# 大概利用下面的方式,利用启动自力的进程:
# ppt = DispatchEx('PowerPoint.Application')

# 假如不声明以部属性,运转的时辰会显现的翻开word
ppt.Visible = 1 # 背景运转
ppt.DisplayAlerts = 0 # 不显现,不警告

# 建立新的PowerPoint文档
# pptSel = ppt.Presentations.Add()
# 翻开一个已有的PowerPoint文档
pptSel = ppt.Presentations.Open(os.getcwd() + "\\" + "2.2 win32 ppt测试.pptx")

# 复制模板页
pptSel.Slides(1).Copy()
#设备需要复制的模板页数
pageNums = 10
# 粘贴模板页
for i in range(pageNums):
pptSel.Slides.Paste()

# pptSel.Save() # 保存
pptSel.SaveAs(os.getcwd() + "\\" + "win32_copy模板.pptx") # 另存为
pptSel.Close() # 封闭 PowerPoint 文档
ppt.Quit() # 封闭 office

结果以下:





3. python-pptx 建立PPT、复制页面

官方文档:https://python-pptx.readthedocs.io/en/latest/

3.1 pip安装python-pptx

安装方式:

pip install python-pptx

我已经安装过了,故提醒已经安装



3.2 python-pptx 复制页面

利用python-pptx停止复制没有找到合适的方式,有以下两种处理法子:

  1. 利用win32com对ppt模板停止复制
  2. 增加模板ppt数目,然后利用python-pptx对不需要的模板页停止删减操纵

3.3 python-pptx 删除页面

python-pptx 多页待删除模板.pptx:



示例代码:

from pptx import Presentation

# 删除某一页ppt
def del_slide(prs,index):
slides = list(prs.slides._sldIdLst)
prs.slides._sldIdLst.remove(slides[index])

# 3.3 python-pptx 删除页面
def fun3_3():
# 翻开ppt
ppt = Presentation('python-pptx 多页待删除模板.pptx')

# 获得一切页
slides = ppt.slides
number_pages = len(slides)
print("删除前ppt一共",number_pages,"页面")

# 设备需要删除的页面数目
delPageNums = 3
# 停止删除操纵(每次都删除第一张ppt)
for index in range(delPageNums):
del_slide(ppt,0)

# 再次获得一切页
slides = ppt.slides
number_pages = len(slides)
print("删除后ppt一共",number_pages,"页面")

ppt.save('python-pptx 多页已删除模板.pptx')
print('天生终了')

if __name__ == '__main__':
fun3_3()

履行结果:





3.4 新建页面

示例代码:

from pptx import Presentation

# 新建ppt
ppt = Presentation()

# 新建页面
slide = ppt.slides.add_slide(ppt.slide_layouts[0])

# 保存ppt
ppt.save('新建ppt.pptx')

结果以下:





4. python-pptx 插入笔墨、表格、外形并设备款式

模板ppt:





接下来,我们就在此模板上停止我们的操纵演示

4.1 python-pptx 增加笔墨并设备款式

4.1.1 增加单行笔墨与多行笔墨

示例代码:

from pptx import Presentation
from pptx.util import Pt,Cm

# 翻开已存在ppt
ppt = Presentation('4. python-pptx操纵模板.pptx')

# 设备增加到当前ppt哪一页
n_page = 0
singleLineContent = "我是单行内容"
multiLineContent = \
"""我是多行内容1
我是多行内容2
我是多行内容3
"""

# 获得需要增加笔墨的页面临象
slide = ppt.slides[n_page]

# 增加单行内容

# 设备增加笔墨框的位置以及巨细
left, top, width, height = Cm(16.9), Cm(1), Cm(12), Cm(1.2)
# 增加笔墨段落
new_paragraph1 = slide.shapes.add_textbox(left=left, top=top, width=width, height=height).text_frame
# 设备段落内容
new_paragraph1.paragraphs[0].text = singleLineContent
# 设备笔墨巨细
new_paragraph1.paragraphs[0].font.size = Pt(15)


# 增加多行

# 设备增加笔墨框的位置以及巨细
left, top, width, height = Cm(16.9), Cm(3), Cm(12), Cm(3.6)
# 增加笔墨段落
new_paragraph2 = slide.shapes.add_textbox(left=left, top=top, width=width, height=height).text_frame
# 设备段落内容
new_paragraph2.paragraphs[0].text = multiLineContent
# 设备笔墨巨细
new_paragraph2.paragraphs[0].font.size = Pt(15)


# 保存ppt
ppt.save('4.1 增加笔墨.pptx')

结果以下:



4.1.2 设备笔墨框款式与笔墨款式

示例代码:

from pptx import Presentation
from pptx.util import Pt,Cm
from pptx.dml.color import RGBColor
from pptx.enum.text import MSO_VERTICAL_ANCHOR, PP_PARAGRAPH_ALIGNMENT
from pptx.enum.text import PP_ALIGN


# 翻开已存在ppt
ppt = Presentation('4. python-pptx操纵模板.pptx')

# 获得需要增加笔墨的页面临象
slide = ppt.slides[0]

# 设备增加笔墨框的位置以及巨细
left, top, width, height = Cm(16.9), Cm(1), Cm(12), Cm(1.2)
# 增加笔墨框 slide.shapes.add_textbox(间隔左侧,间隔顶端,宽度,高度)
textBox = slide.shapes.add_textbox(left=left, top=top, width=width, height=height)

# 调剂文本框布景色彩
textBoxFill = textBox.fill
textBoxFill.solid() # 纯色添补
textBoxFill.fore_color.rgb = RGBColor(187, 255, 255)

# 文本框边框款式调剂
line = textBox.line
line.color.rgb = RGBColor(0, 255, 0)
line.width = Cm(0.1)

# 获得文本框工具
tf = textBox.text_frame

# 文本框款式调剂
tf.margin_bottom = Cm(0.1) # 下边距
tf.margin_left = 0 # 左侧距
tf.vertical_anchor = MSO_VERTICAL_ANCHOR.BOTTOM # 对齐文本方式:底端对齐
tf.word_wrap = True # 文本框的笔墨自动对齐

# 设备内容
tf.paragraphs[0].text = '这是一段文本框里的笔墨'

# 字体款式调剂
tf.paragraphs[0].alignment = PP_ALIGN.CENTER # 对齐方式
tf.paragraphs[0].font.name = '微软雅黑' # 字体称号
tf.paragraphs[0].font.bold = True # 能否加粗
tf.paragraphs[0].font.italic = True # 能否斜体
tf.paragraphs[0].font.color.rgb = RGBColor(255, 0, 0) # 字体色彩
tf.paragraphs[0].font.size = Pt(20) # 字体巨细

# 保存ppt
ppt.save('4.1.2 设备笔墨框与字体款式.pptx')

结果以下:



代码详解

  • 增加文本框
# 增加笔墨框 slide.shapes.add_textbox(间隔左侧,间隔顶端,宽度,高度)
textBox = slide.shapes.add_textbox(left=left, top=top, width=width, height=height)
  • 设备文本框布景
textBoxFill = textBox.fill
textBoxFill.solid() # 纯色添补
textBoxFill.fore_color.rgb = RGBColor(187, 255, 255)

RGB色彩参考:http://www.wahart.com.hk/rgb.htm

  • 设备文本框边框款式
line = textBox.line
line.color.rgb = RGBColor(0, 255, 0)
line.width = Cm(0.1)
  • 设备文本框笔墨款式
# 获得文本框笔墨工具
tf = textBox.text_frame

# 文本框款式调剂
tf.margin_bottom = Cm(0.1) # 下边距
tf.margin_left = 0 # 左侧距
tf.vertical_anchor = MSO_VERTICAL_ANCHOR.BOTTOM # 垂直方式:底端对齐
tf.word_wrap = True # 文本框的笔墨自动对齐
  • 垂直对齐

指定文本在文本框架中的垂直对齐方式。 与TextFrame工具的.vertical_anchor属性一路利用。 请留意,vertical_anchor属性也可以具有值None,暗示没有间接指定的垂直锚设备,而且其有用值是从占位符继续的(倘使有一个或从主题继续)。 也可以不指定任何内容来删除明白指定的垂直锚设备。

from pptx.enum.text import MSO_ANCHOR

cell = table.cell(row_idx=2, col_idx=3)
cell.vertical_anchor = MSO_ANCHOR.BOTTOM

txt TOP Aligns text to top of text frame and inherits its value from its layout placeholder or theme. MIDDLE Centers text vertically BOTTOM Aligns text to bottom of text frame MIXED Return value only; indicates a combination of the other states.

  • 设备文本框内容
# 设备内容
tf.paragraphs[0].text = '这是一段文本框里的笔墨'
  • 字体款式调剂
# 字体款式调剂
tf.paragraphs[0].alignment = PP_ALIGN.CENTER # 对齐方式
tf.paragraphs[0].font.name = '微软雅黑' # 字体称号
tf.paragraphs[0].font.bold = True # 能否加粗
tf.paragraphs[0].font.italic = True # 能否斜体
tf.paragraphs[0].font.color.rgb = RGBColor(255, 0, 0) # 字体色彩
tf.paragraphs[0].font.size = Pt(20) # 字体巨细
  • 笔墨对齐
from pptx.enum.text import PP_ALIGN

shape.paragraphs[0].alignment = PP_ALIGN.CENTER

CENTER
Center align
DISTRIBUTE
Evenly distributes e.g. Japanese characters from left to right within a line
JUSTIFY
Justified, i.e. each line both begins and ends at the margin with spacing between words adjusted such that the line exactly fills the width of the paragraph.
JUSTIFY_LOW
Justify using a small amount of space between words.
LEFT
Left aligned
RIGHT
Right aligned
THAI_DISTRIBUTE
Thai distributed
MIXED
Return value only; indicates multiple paragraph alignments are present in a set of paragraphs.
  • 保存ppt
# 保存ppt
ppt.save('4.1.2 设备笔墨框与字体款式.pptx')

4.2 python-pptx 增加表格并设备款式

示例代码:

from pptx import Presentation
from pptx.util import Pt,Cm
from pptx.dml.color import RGBColor
from pptx.enum.text import MSO_ANCHOR
from pptx.enum.text import PP_ALIGN


# 设备需要增加到哪一页
n_page = 0

# 翻开已存在ppt
ppt = Presentation('4. python-pptx操纵模板.pptx')

# 获得slide工具
slide = ppt.slides[n_page]

# 设备表格位置和巨细
left, top, width, height = Cm(6), Cm(12), Cm(13.6), Cm(5)
# 表格行列数,和巨细
shape = slide.shapes.add_table(6, 7, left, top, width, height)
# 获得table工具
table = shape.table

# 设备列宽
table.columns[0].width = Cm(3)
table.columns[1].width = Cm(2.3)
table.columns[2].width = Cm(2.3)
table.columns[3].width = Cm(1.3)
table.columns[4].width = Cm(1.3)
table.columns[5].width = Cm(1.3)
table.columns[6].width = Cm(2.1)

# 设备行高
table.rows[0].height = Cm(1)

# 合并首行
table.cell(0, 0).merge(table.cell(0, 6))

# 填写题目
table.cell(1, 0).text = "时候"
table.cell(1, 1).text = "阶段"
table.cell(1, 2).text = "履行用例"
table.cell(1, 3).text = "新增题目"
table.cell(1, 4).text = "题目总数"
table.cell(1, 5).text = "遗留题目"
table.cell(1, 6).text = "遗留致命/" \
"严重题目"

# 填写变量内容
table.cell(0, 0).text = "产物1"
content_arr = [["4/30-5/14", "DVT1", "20", "12", "22", "25", "5"],
["5/15-5/21", "DVT1", "25", "32", "42", "30", "8"],
["5/22-6/28", "DVT1", "1", "27", "37", "56", "12"],
["5/22-6/28", "DVT1", "1", "27", "37", "56", "12"]]

# 点窜表格款式
for rows in range(6):
for cols in range(7):
# Write column titles
if rows == 0:
# 设备笔墨巨细
table.cell(rows, cols).text_frame.paragraphs[0].font.size = Pt(15)
# 设备字体
table.cell(rows, cols).text_frame.paragraphs[0].font.name = '微软雅黑'
# 设备笔墨色彩
table.cell(rows, cols).text_frame.paragraphs[0].font.color.rgb = RGBColor(255, 255, 255)
# 设备笔墨左右对齐
table.cell(rows, cols).text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER
# 设备笔墨高低对齐
table.cell(rows, cols).vertical_anchor = MSO_ANCHOR.MIDDLE
# 设备布景为添补
table.cell(rows, cols).fill.solid()
# 设备布景色彩
table.cell(rows, cols).fill.fore_color.rgb = RGBColor(34, 134, 165)
elif rows == 1:
table.cell(rows, cols).text_frame.paragraphs[0].font.size = Pt(10)
table.cell(rows, cols).text_frame.paragraphs[0].font.name = '微软雅黑' # 字体称号
table.cell(rows, cols).text_frame.paragraphs[0].font.color.rgb = RGBColor(0, 0, 0)
table.cell(rows, cols).text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER
table.cell(rows, cols).vertical_anchor = MSO_ANCHOR.MIDDLE
table.cell(rows, cols).fill.solid()
table.cell(rows, cols).fill.fore_color.rgb = RGBColor(204, 217, 225)
else:
table.cell(rows, cols).text = content_arr[rows - 2][cols]
table.cell(rows, cols).text_frame.paragraphs[0].font.size = Pt(10)
table.cell(rows, cols).text_frame.paragraphs[0].font.name = '微软雅黑' # 字体称号
table.cell(rows, cols).text_frame.paragraphs[0].font.color.rgb = RGBColor(0, 0, 0)
table.cell(rows, cols).text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER
table.cell(rows, cols).vertical_anchor = MSO_ANCHOR.MIDDLE
table.cell(rows, cols).fill.solid()
table.cell(rows, cols).fill.fore_color.rgb = RGBColor(204, 217, 225)

ppt.save('4.2 python-pptx 增加表格并设备款式.pptx')

结果以下:



4.3 python-pptx 增加图表并设备款式

示例代码:

from pptx import Presentation
from pptx.util import Pt,Cm
from pptx.chart.data import ChartData
from pptx.enum.chart import XL_CHART_TYPE


# 设备需要增加到哪一页
n_page = 0

# 翻开已存在ppt
ppt = Presentation('4. python-pptx操纵模板.pptx')

# 获得slide工具
slide = ppt.slides[n_page]

# 初始化图表
chart_data = ChartData()

# 添补需要增加的内容
content_arr = [["4/30-5/14", "DVT1", "20", "12", "22", "25", "5"],
["5/15-5/21", "DVT1", "25", "32", "42", "30", "8"],
["5/22-6/28", "DVT1", "1", "27", "37", "56", "12"],
["5/22-6/28", "DVT1", "1", "27", "37", "56", "12"]]

# 添补图表
chart_data.categories = [content_arr[0][0], content_arr[1][0], content_arr[2][0], content_arr[3][0]]
chart_data.add_series("题目总数", (content_arr[0][4], content_arr[1][4], content_arr[2][4], content_arr[3][4]))
chart_data.add_series("遗留题目总数", (content_arr[0][5], content_arr[1][5], content_arr[2][5], content_arr[3][5]))
chart_data.add_series("遗留致命严重\n题目总数", (content_arr[0][6], content_arr[1][6], content_arr[2][6], content_arr[3][6]))

# 设备位置
left, top, width, height = Cm(6), Cm(10), Cm(16.1), Cm(7.5)
# 增加图表
chart = slide.shapes.add_chart(
XL_CHART_TYPE.LINE, left, top, width, height, chart_data
).chart


chart.has_legend = True
chart.legend.include_in_layout = False
# chart.series[0].smooth = True # 能否平滑
# chart.series[1].smooth = True
# chart.series[2].smooth = True
chart.font.size = Pt(10) # 笔墨巨细

ppt.save('4.3 python-pptx 增加图表并设备款式.pptx')
print('折线图增加完成')

结果以下:



别的图表可参考:https://www.cnblogs.com/adam012019/p/11348938.html

4.4 python-pptx 增加外形并设备款式

这里的外形可所以这些:



外形别名可以再这里检察:

https://docs.microsoft.com/zh-cn/office/vba/api/Office.MsoAutoShapeType



并对应这里,找到正确的列举名:

https://python-pptx.readthedocs.io/en/latest/api/enum/MsoAutoShapeType.html#msoautoshapetype



法式示例:

from pptx import Presentation
from pptx.util import Pt,Cm
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
from pptx.enum.shapes import MSO_SHAPE


# 设备需要增加到哪一页
n_page = 0

# 翻开已存在ppt
ppt = Presentation('4. python-pptx操纵模板.pptx')

# 获得slide工具
slide = ppt.slides[n_page]

# 增加矩形
# 设备位置以及巨细
left, top, width, height = Cm(2.5), Cm(4.5), Cm(30), Cm(0.5)
# 增加外形
rectangle = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, left, top, width, height)
# 设备布景添补
rectangle.fill.solid()
# 设备布景色彩
rectangle.fill.fore_color.rgb = RGBColor(34, 134, 165)
# 设备边框色彩
rectangle.line.color.rgb = RGBColor(34, 134, 165)

# 增加正三角+笔墨(一般)
left, top, width, height = Cm(3), Cm(5.1), Cm(0.5), Cm(0.4)
slide.shapes.add_shape(MSO_SHAPE.FLOWCHART_EXTRACT, left, top, width, height)
new_paragraph = slide.shapes.add_textbox(left=left - Cm(0.95), top=top + Cm(0.4), width=Cm(2.4),height=Cm(1.1)).text_frame
content = """2020/01/05
内容1"""
new_paragraph.paragraphs[0].text = content
new_paragraph.paragraphs[0].font.size = Pt(10) # 笔墨巨细
new_paragraph.paragraphs[0].alignment = PP_ALIGN.CENTER

# 增加正三角+笔墨(延期)
left, top, width, height = Cm(9), Cm(5.1), Cm(0.5), Cm(0.4)
extract = slide.shapes.add_shape(MSO_SHAPE.FLOWCHART_EXTRACT, left, top, width, height)
extract.fill.solid()
extract.fill.fore_color.rgb = RGBColor(255, 0, 0)
extract.line.color.rgb = RGBColor(255, 0, 0)

new_paragraph = slide.shapes.add_textbox(left=left - Cm(0.95), top=top + Cm(0.4), width=Cm(2.4),height=Cm(1.1)).text_frame
content = """2020/01/05
内容2"""
new_paragraph.paragraphs[0].text = content # 笔墨内容
new_paragraph.paragraphs[0].font.size = Pt(10) # 笔墨巨细
new_paragraph.paragraphs[0].font.color.rgb = RGBColor(255, 0, 0) # 笔墨色彩
new_paragraph.paragraphs[0].alignment = PP_ALIGN.CENTER # 笔墨水平对齐方式

# 增加倒三角+间隔条+笔墨
left, top, width, height = Cm(5), Cm(4), Cm(0.5), Cm(0.4)
slide.shapes.add_shape(MSO_SHAPE.FLOWCHART_MERGE, left, top, width, height)
gap = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, left + Cm(0.2), top + Cm(0.5), Cm(0.05), Cm(0.5))
gap.fill.solid()
gap.fill.fore_color.rgb = RGBColor(255, 255, 255)
gap.line.color.rgb = RGBColor(255, 255, 255)

new_paragraph = slide.shapes.add_textbox(left=left - Cm(0.95), top=top - Cm(1), width=Cm(2.4),height=Cm(1.1)).text_frame
content = """2020/01/05
内容3"""
new_paragraph.paragraphs[0].text = content
new_paragraph.paragraphs[0].font.size = Pt(10) # 笔墨巨细
new_paragraph.paragraphs[0].alignment = PP_ALIGN.CENTER

# 增加当前时候图形
left, top, width, height = Cm(7), Cm(4), Cm(0.5), Cm(0.4)
now = slide.shapes.add_shape(MSO_SHAPE.DOWN_ARROW, left, top, width, height)
now.fill.solid()
now.fill.fore_color.rgb = RGBColor(254, 152, 47)
now.line.color.rgb = RGBColor(254, 152, 47)

ppt.save('4.4 python-pptx 增加外形并设备款式.pptx')
print('进度条增加完成')

结果以下:



5. seaborn绘图库先容与利用

官方网址:http://seaborn.pydata.org/



  • seaborn是基于Matplotlib的Python数据可视化库。它供给了一个高级界面,用于绘制令人沉迷且内容丰富的统计图形
  • 只是在Matplotlib上停止了更高级的API封装,从而使作图加倍轻易
  • seaborn是针对统计绘图的,能满足数据分析90%的绘图需求,需要复杂的自界说图形还需要利用到Matplotlib

5.1 pip安装seaborn

pip install seaborn

结果以下(我的显现已安装):



利用:

import seaborn as sns
# 大概
import seaborn

利用数据集:

import seaborn as sns

tips = sns.load_dataset("tips")

没法毗连:





下载数据集:

https://github.com/mwaskom/seaborn-data

放到当地:



运转法式:

import seaborn as sns

tips = sns.load_dataset("tips")

print("tips:",tips)
print("ype(tips):",type(tips))

结果以下:



参考博客:

《处理seaborn导入数据集出现毛病》

https://blog.csdn.net/qq_33828738/article/details/107044082

5.2 seaborn绘制折线图

5.2.1 经过relplot来实现

示例代码:

import matplotlib.pyplot as plt
import seaborn as sns

# 数据集
data = sns.load_dataset("fmri")
print(data.head())
# 绘画折线图
sns.relplot(x="timepoint", y="signal", kind="line", data=data, ci=None)
# 显现
plt.show()

结果以下:



5.2.2 经过lineplot()函数来实现

示例代码:

import matplotlib.pyplot as plt
import seaborn as sns

# 数据集
data = sns.load_dataset("fmri")
print(data.head())
# 绘画折线图:
sns.lineplot(x="timepoint", y="signal", data=data, ci=95)
# 显现
plt.show()

结果以下:



5.2.3 多坐标结果

示例代码:

import matplotlib.pyplot as plt
import seaborn as sns

# 数据集
data = sns.load_dataset("fmri")
print(data.head())

# 绘画折线图
f, axes = plt.subplots(nrows=1, ncols=2, figsize=(14, 6))

sns.lineplot(x="timepoint", y="signal", data=data, ci=None, ax=axes[0])
sns.lineplot(x="timepoint", y="signal", hue="region", style="event", data=data, ci=None, ax=axes[1])
plt.show()

结果以下:



5.2.4 保存天生的图片

留意:需要在plt.show()之前挪用savefig,否则保存的图片就是一片空缺

plt.savefig('seaborn天生的图片.png')

plt.show()

结果以下:





5.3 seaborn replot 绘制散点图



示例代码:

import matplotlib.pyplot as plt
import seaborn as sns

# 预备数据:自带数据集
tips = sns.load_dataset("tips")
print(tips.head())

# 绘画散点图
sns.relplot(x="total_bill", y="tip", data=tips, hue="sex", style="smoker", size="size")
sns.relplot(x="total_bill", y="tip", data=tips, hue="sex", style="smoker", size="size", sizes=(100, 100))
# 显现
plt.show()

结果以下:



5.4 seaborn barplot绘制柱状图

  • 垂直

示例代码:

import matplotlib.pyplot as plt
import seaborn as sns

# 显现正负号与中文不显现题目
plt.rcParams['axes.unicode_minus'] = False
sns.set_style('darkgrid', {'font.sans-serif':['SimHei', 'Arial']})

# 去除部分warning
import warnings
warnings.filterwarnings('ignore')

plt.figure(dpi=150)
x = ['金融','农业','制造业','新能源']
y = [164, 86, 126, 53]
sns.barplot(x, y)

plt.show()

结果以下:



  • 水平

更调横纵坐标位置即可

plt.figure(dpi=150)
x = ['金融','农业','制造业','新能源']
y = [164, 86, 126, 53]
sns.barplot(y,x )
plt.show()

6. python-pptx 插入图片

条件条件:



示例代码:

from pptx import Presentation
from pptx.util import Pt,Cm

# 翻开已存在ppt
ppt = Presentation('6.python-pptx操纵模板.pptx')

# 设备增加到当前ppt哪一页
n_page = 0

# 获得需要增加笔墨的页面临象
slide = ppt.slides[n_page]

# 设备待增加的图片
img_name = 'seaborn天生的图片.png'
# 设备位置
left, top, width, height = Cm(6), Cm(6), Cm(20), Cm(9)
# 停止增加
slide.shapes.add_picture(image_file=img_name,left=left,top=top,width=width,height=height)

# 保存ppt
ppt.save('6.python-pptx 插入图片.pptx')

结果以下:





7. python-pptx 读取数据

条件条件:预备好一张有内容的ppt



示例代码:

from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE_TYPE

# 翻开待读取的ppt文件
ppt = Presentation('研发治理部检测部周报2020-09-17.pptx')

# 获得第0张
slide0 = ppt.slides[0]

# 遍历一切内容
for shape in slide0.shapes:
# 打印shape称号
print(shape.shape_type)
# 判定能否为表格
if shape.shape_type == MSO_SHAPE_TYPE.TABLE:
#获得表格行
for row in shape.table.rows:
for cell in row.cells:
print(cell.text_frame.text)

结果以下:

将当前幻灯片页面中的工具称号和表格内容全数打印出来了,反之,我们对其停止复制,就是写操纵。





作者:超级大洋葱806
原文链接:https://tangxing.blog.csdn.net/article/details/109568830

高端人脉微信群

高端人脉微信群

人脉=钱脉,我们相信天下没有聚不拢的人脉,扫码进群找到你所需的人脉,对接你所需的资源。

商业合作微信

商业合作微信

本站创始人微信,13年互联网营销经验,擅长引流裂变、商业模式、私域流量,高端人脉资源丰富。

我有话说......

相关推荐

国产操作系统发布:手机、电脑应用都能兼容

国产操作系统发布:手机、电脑应用都能兼容

近日深度操作系统官方宣布,国产操作系统deepin 20.6版本正式上线,新版本升级了Stabl

键盘操作方法大全

键盘操作方法大全

【键盘操作方法大全】键盘可不仅仅能帮我们打字哦,还有很多快捷的操作你都知道吗?除

电脑的一些基本常识和操作

电脑的一些基本常识和操作

关于电脑的一些基本常识和操作(电脑初学者必备)  众所周知,在21世纪的今天,电脑

操作系统实验一到实验九合集(哈工大李治军)

操作系统实验一到实验九合集(哈工大李治军)

知乎Markdown适配不行,希望在我的博客中查看文章作者寄语操作系统实验的学习是一个循

看完这篇Linux基本的操作就会了

看完这篇Linux基本的操作就会了

前言只有光头才能变强这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。

搞懂软考,看这一篇就够了

搞懂软考,看这一篇就够了

大家好,我是你们的新朋友叨叨张,很高兴能够在这里和大家相遇,今天我要分享的主题是

0基础入门Photoshop基础操作(一)

0基础入门Photoshop基础操作(一)

大家好我是正经人你以为上来就要教封面上那个效果吗?当然不是,那个是我好几年前做的

从操作系统的进化中,读懂MagicOS

从操作系统的进化中,读懂MagicOS

操作系统的数十年沉浮1946年诞生第一台计算机时,还没有操作系统。程序员靠着「打孔」

还不会使用 GitHub ? GitHub 教程来了!万字图文详解

还不会使用 GitHub ? GitHub 教程来了!万字图文详解

在编程届有个共识,想要成为一个合格的程序员必须要掌握 GitHub 的用法!接下来,我们

Git使用教程,最详细,最傻瓜,最浅显,真正手把手教

Git使用教程,最详细,最傻瓜,最浅显,真正手把手教

(预警:因为详细,所以行文有些长,新手边看边操作效果出乎你的预料)一:Git是什么

Win10系统常用的快捷键(绝对很详细)

Win10系统常用的快捷键(绝对很详细)

前言介绍快捷键,也就是刷刷按几下键盘上的组合键就可以达到鼠标点很多下才能实现的效

上海医保转入杭州- “浙里办”简易操作

上海医保转入杭州- “浙里办”简易操作

我在上篇文章说过,上海医保需要社保(即养老保险)成功转入杭州后才能进行转移,申请

史上最全高中化学实验总结(操作+方法)

史上最全高中化学实验总结(操作+方法)

高中化学实验真复杂,包学习APP为你整理最全总结,不怕记不住!一、中学化学实验操作

大学四年自学走来,关于怎么学「操作系统」和「计算机网络 ... ...

大学四年自学走来,关于怎么学「操作系统」和「计算机网络 ... .

最近收到不少读者留言,关于怎么学「操作系统」和「计算机网络」的留言,小林写这一块

用这6款软件记笔记,不要太爽!丨上进青年研习社

用这6款软件记笔记,不要太爽!丨上进青年研习社

文/小渔俗话说:“好记性不如烂笔头。”在无纸时代,记笔记当然也不一定要用烂笔头了

8个流氓软件,这辈子是不可能安装的。

8个流氓软件,这辈子是不可能安装的。

之前安利过不少值得安装或使用的软件,但这一次我想换个角度,写一些强烈不建议安装的

KMS服务,一句命令激活windows/office!

KMS服务,一句命令激活windows/office!

服务器地址:http://kms.03k.org(点击检查是否可用);服务作用:在线激活windows和off

Windows10 快速启动

Windows10 快速启动

从Windows8开始,Windows的开机速度有了极大的提高,这得益于一项新的功能:快速启动

最后教一次:完美解决电脑上的流氓软件

最后教一次:完美解决电脑上的流氓软件

国产流氓软件之所以流氓就流氓在 “ 买一赠N ”装一个软件,就会给你附赠N个流氓软件

推荐10个超好玩的网站,一打开就停不下来!

推荐10个超好玩的网站,一打开就停不下来!

推荐10个超好玩的网站,窥探别人的记忆,敲键盘听歌,办公偷懒神器,看中国古今妖怪…

电话咨询: 15924191378
添加微信