Fppt com Python

Hội thảo Python PPT từ Shivam Gupta

Đăng ký tên nổi tiếng nhất để đào tạo trăn ở pune – 3ri Technologies. python đã trở thành ngôn ngữ phổ biến nhất vì có nhu cầu lớn đối với các chuyên gia về python. chúng tôi đã thiết kế khóa đào tạo python theo tiêu chuẩn thị trường, nhằm đáp ứng nhu cầu của ngành. chúng tôi cũng được coi là học viện đào tạo trăn tốt nhất ở pune do chương trình giảng dạy khóa học chất lượng chưa từng có và các huấn luyện viên giàu kinh nghiệm và được đánh giá cao của chúng tôi. giảng viên của chúng tôi được chứng nhận, những người có kinh nghiệm trong ngành. python là mã nguồn mở, ngôn ngữ dễ học. nó có các thư viện mạnh mẽ để phát triển web, tự động hóa và phân tích dữ liệu. python là ngôn ngữ lập trình cấp cao với thư viện mạnh mẽ và cú pháp rõ ràng. khóa học của chúng tôi lý tưởng cho các nhà phát triển web, nhà phát triển phần mềm, nhà phát triển hadoop, v.v. những người muốn vượt trội trong sự nghiệp của họ. python đã tăng khả năng thâm nhập thị trường theo cấp số nhân khi được google chấp nhận. khóa đào tạo python của chúng tôi được chuẩn bị cho những người mới và có kinh nghiệm hơn và chúng tôi đảm bảo rằng chúng tôi cung cấp những hiểu biết sâu sắc về ngôn ngữ python

Thích hay không thích, PowerPoint được sử dụng rộng rãi trong hầu hết các môi trường kinh doanh. Bài viết này sẽ không tranh luận về giá trị của PowerPoint nhưng sẽ chỉ cho bạn cách sử dụng python để loại bỏ một số công việc cực nhọc của PowerPoint bằng cách tự động tạo trang trình bày PowerPoint bằng cách sử dụng python

Thật may mắn cho chúng tôi, có một thư viện python tuyệt vời để tạo và cập nhật các tệp PowerPoint. python-pptx. API được ghi lại rất tốt nên khá dễ sử dụng. Phần khó khăn duy nhất là hiểu cấu trúc tài liệu PowerPoint bao gồm các thành phần và bố cục chính khác nhau. Khi bạn hiểu những điều cơ bản, việc tự động tạo các trang chiếu PowerPoint của riêng bạn tương đối đơn giản. Bài viết này sẽ hướng dẫn một ví dụ về đọc và phân tích một số dữ liệu Excel bằng gấu trúc, tạo bảng và xây dựng biểu đồ có thể được nhúng trong tệp PowerPoint.

Thông tin cơ bản về tệp PowerPoint

Python-pptx có thể tạo các tệp PowerPoint trống nhưng hầu hết mọi người sẽ thích làm việc với mẫu được xác định trước mà bạn có thể tùy chỉnh với nội dung của riêng mình. API của Python-pptx hỗ trợ quá trình này khá đơn giản miễn là bạn biết một vài điều về mẫu của mình.

Trước khi đi sâu vào một số mẫu mã, có hai thành phần chính bạn cần hiểu. Bố cục trang trình bày và trình giữ chỗ. Trong các hình ảnh bên dưới, bạn có thể xem ví dụ về hai bố cục khác nhau cũng như trình giữ chỗ của mẫu nơi bạn có thể điền nội dung của mình

Trong hình ảnh bên dưới, bạn có thể thấy rằng chúng tôi đang sử dụng Bố cục 0 và có một trình giữ chỗ trên trang trình bày tại chỉ mục 1

Trong hình ảnh này, chúng tôi sử dụng Bố cục 1 để có giao diện hoàn toàn khác

Để làm cho cuộc sống của bạn dễ dàng hơn với các mẫu của riêng bạn, tôi đã tạo một tập lệnh độc lập đơn giản lấy một mẫu và đánh dấu mẫu đó bằng các phần tử khác nhau

Tôi sẽ không giải thích tất cả từng dòng mã nhưng bạn có thể xem phân tích_ppt. py trên github. Đây là chức năng thực hiện phần lớn công việc

def analyze_ppt[input, output]:
    """ Take the input file and analyze the structure.
    The output file contains marked up information to make it easier
    for generating future powerpoint templates.
    """
    prs = Presentation[input]
    # Each powerpoint file has multiple layouts
    # Loop through them all and  see where the various elements are
    for index, _ in enumerate[prs.slide_layouts]:
        slide = prs.slides.add_slide[prs.slide_layouts[index]]
        # Not every slide has to have a title
        try:
            title = slide.shapes.title
            title.text = 'Title for Layout {}'.format[index]
        except AttributeError:
            print["No Title for Layout {}".format[index]]
        # Go through all the placeholders and identify them by index and type
        for shape in slide.placeholders:
            if shape.is_placeholder:
                phf = shape.placeholder_format
                # Do not overwrite the title which is just a special placeholder
                try:
                    if 'Title' not in shape.text:
                        shape.text = 'Placeholder index:{} type:{}'.format[phf.idx, shape.name]
                except AttributeError:
                    print["{} has no text attribute".format[phf.type]]
                print['{} {}'.format[phf.idx, shape.name]]
    prs.save[output]

Quy trình cơ bản của chức năng này là lặp lại và tạo một ví dụ về mọi bố cục có trong tệp PowerPoint nguồn. Sau đó, trên mỗi slide, nó sẽ điền tiêu đề [nếu nó tồn tại]. Cuối cùng, nó sẽ lặp qua tất cả các trình giữ chỗ có trong mẫu và hiển thị chỉ mục của trình giữ chỗ cũng như loại

Nếu bạn muốn tự mình thử

python analyze_ppt.py simple-template.ppt simple-template-markup.ppt

Tham khảo các tệp đầu vào và đầu ra để xem những gì bạn nhận được

Tạo PowerPoint của riêng bạn

Đối với tập dữ liệu và phân tích, tôi sẽ sao chép phân tích trong Tạo Báo cáo Excel từ Bảng Pivot Pandas. Bài viết giải thích chi tiết hơn về thao tác xử lý dữ liệu pandas, vì vậy sẽ rất hữu ích nếu bạn đảm bảo rằng bạn cảm thấy thoải mái với nó trước khi tìm hiểu sâu hơn về mã

Hãy bắt đầu với thông tin đầu vào và trình bao cơ bản của chương trình

from __future__ import print_function
from pptx import Presentation
from pptx.util import Inches
import argparse
import pandas as pd
import numpy as np
from datetime import date
import matplotlib.pyplot as plt
import seaborn as sns

# Functions go here

if __name__ == "__main__":
    args = parse_args[]
    df = pd.read_excel[args.report.name]
    report_data = create_pivot[df]
    create_chart[df, "report-image.png"]
    create_ppt[args.infile.name, args.outfile.name, report_data, "report-image.png"]

Sau khi chúng tôi tạo các đối số dòng lệnh của mình, chúng tôi đọc tệp Excel nguồn vào DataFrame của gấu trúc. Tiếp theo, chúng tôi sử dụng DataFrame đó làm đầu vào để tạo bản tóm tắt Pivot_table của dữ liệu

def create_pivot[df, index_list=["Manager", "Rep", "Product"],
                 value_list=["Price", "Quantity"]]:
    """
    Take a DataFrame and create a pivot table
    Return it as a DataFrame pivot table
    """
    table = pd.pivot_table[df, index=index_list,
                           values=value_list,
                           aggfunc=[np.sum, np.mean], fill_value=0]
    return table

Tham khảo Tạo báo cáo Excel từ Bảng tổng hợp Pandas nếu điều này không hợp lý với bạn

Phần tiếp theo của phân tích là tạo biểu đồ thanh đơn giản về hiệu suất bán hàng theo tài khoản

def create_chart[df, filename]:
    """ Create a simple bar chart saved to the filename based on the dataframe
    passed to the function
    """
    df['total'] = df['Quantity'] * df['Price']
    final_plot = df.groupby['Name']['total'].sum[].order[].plot[kind='barh']
    fig = final_plot.get_figure[]
    # Size is the same as the PowerPoint placeholder
    fig.set_size_inches[6, 4.5]
    fig.savefig[filename, bbox_inches='tight', dpi=600]

Đây là phiên bản thu nhỏ của hình ảnh

Chúng tôi có một biểu đồ và một bảng tổng hợp đã hoàn thành. Bây giờ, chúng ta sẽ nhúng thông tin đó vào tệp PowerPoint mới dựa trên tệp mẫu PowerPoint đã cho

Trước khi tôi đi xa hơn, có một vài điều cần lưu ý. Bạn cần biết bạn muốn sử dụng bố cục nào cũng như nơi bạn muốn đưa nội dung của mình vào. Khi xem kết quả của analyze_ppt.py, chúng tôi biết rằng trang trình bày tiêu đề có bố cục 0 và nó có thuộc tính tiêu đề và tiêu đề phụ ở trình giữ chỗ 1

Đây là phần bắt đầu của hàm mà chúng tôi sử dụng để tạo đầu ra PowerPoint

def create_ppt[input, output, report_data, chart]:
    """ Take the input powerpoint file and use it as the template for the output
    file.
    """
    prs = Presentation[input]
    # Use the output from analyze_ppt to understand which layouts and placeholders
    # to use
    # Create a title slide first
    title_slide_layout = prs.slide_layouts[0]
    slide = prs.slides.add_slide[title_slide_layout]
    title = slide.shapes.title
    subtitle = slide.placeholders[1]
    title.text = "Quarterly Report"
    subtitle.text = "Generated on {:%m-%d-%Y}".format[date.today[]]

Mã này tạo một bản trình bày mới dựa trên tệp đầu vào của chúng tôi, thêm một trang chiếu và điền tiêu đề và phụ đề vào trang chiếu. Có vẻ như thế này

Khá tuyệt phải không?

Bước tiếp theo là nhúng ảnh của chúng ta vào một trang chiếu

Từ phân tích trước của chúng tôi, chúng tôi biết rằng slide biểu đồ mà chúng tôi muốn sử dụng là chỉ mục bố cục 8, vì vậy chúng tôi tạo một slide mới, thêm tiêu đề rồi thêm ảnh vào trình giữ chỗ 1. Bước cuối cùng thêm phụ đề vào trình giữ chỗ 2

# Create the summary graph
graph_slide_layout = prs.slide_layouts[8]
slide = prs.slides.add_slide[graph_slide_layout]
title = slide.shapes.title
title.text = "Sales by account"
placeholder = slide.placeholders[1]
pic = placeholder.insert_picture[chart]
subtitle = slide.placeholders[2]
subtitle.text = "Results consistent with last quarter"

Đây là kiệt tác của chúng tôi

Đối với phần cuối cùng của bản trình bày, chúng ta sẽ tạo một bảng cho từng người quản lý về hiệu suất bán hàng của họ

Đây là hình ảnh về những gì chúng ta sẽ đạt được

Tạo bảng trong PowerPoint là một tin tốt / tin xấu. Tin tốt là có một API để tạo một. Tin xấu là bạn không thể dễ dàng chuyển đổi DataFrame của pandas thành bảng bằng cách sử dụng API tích hợp sẵn. Tuy nhiên, chúng tôi rất may mắn rằng ai đó đã làm tất cả công việc khó khăn cho chúng tôi và tạo ra PandasToPowerPoint.

Đoạn mã tuyệt vời này lấy một DataFrame và chuyển đổi nó thành một bảng tương thích với PowerPoint. Tôi đã tự do đưa một phần của nó vào kịch bản của mình. Bản gốc có nhiều chức năng hơn mà tôi không sử dụng, vì vậy tôi khuyên bạn nên kiểm tra repo và sử dụng nó trong mã của riêng bạn

# Create a slide for each manager
for manager in report_data.index.get_level_values[0].unique[]:
    slide = prs.slides.add_slide[prs.slide_layouts[2]]
    title = slide.shapes.title
    title.text = "Report for {}".format[manager]
    top = Inches[1.5]
    left = Inches[0.25]
    width = Inches[9.25]
    height = Inches[5.0]
    # Flatten the pivot table by resetting the index
    # Create a table on the slide
    df_to_table[slide, report_data.xs[manager, level=0].reset_index[],
                left, top, width, height]
prs.save[output]

Mã đưa từng người quản lý ra khỏi bảng tổng hợp và xây dựng một DataFrame đơn giản chứa dữ liệu tóm tắt. Sau đó, sử dụng

python analyze_ppt.py simple-template.ppt simple-template-markup.ppt
0 để chuyển đổi Khung dữ liệu thành bảng tương thích với PowerPoint

Nếu bạn muốn tự chạy mã này, mã đầy đủ sẽ giống như thế này

python create_ppt.py simple-template.pptx sales-funnel.xlsx myreport.pptx

Tất cả các tệp có liên quan đều có sẵn trong kho lưu trữ github

Phần kết luận

Một trong những điều tôi thực sự thích khi sử dụng python để giải quyết các vấn đề kinh doanh trong thế giới thực là tôi thường ngạc nhiên về hệ sinh thái phong phú của các công cụ python được suy nghĩ rất kỹ đã có sẵn để trợ giúp các vấn đề của tôi. Trong trường hợp cụ thể này, PowerPoint hiếm khi thú vị khi sử dụng nhưng nó là một thứ cần thiết trong nhiều môi trường

Sau khi đọc bài viết này, bạn nên biết rằng có một số hy vọng cho bạn vào lần tới khi bạn được yêu cầu tạo một loạt báo cáo trong PowerPoint. Hãy ghi nhớ bài viết này và xem liệu bạn có thể tìm ra cách tự động hóa một số công việc tẻ nhạt hay không

Chúng tôi có thể tự động hóa PPT bằng python không?

Trước khi sử dụng Python để chỉnh sửa PowerPoint, bạn cần có gói python-pptx. .
Tải PPT và chỉ định trang trình bày. coins_ppt = Presentation['Tiền tệ. pptx'].
Loại bỏ các lô cũ. .
Thêm các ô mới. .
Tìm chỉ số hình dạng. .
Cập nhật các thành phần. .
Xuất các tập tin

Làm cách nào để sử dụng ppt với python?

Tạo bản trình bày .
Bố cục = X. slide_layouts[0] first_slide = X. trang trình bày. add_slide[Layout] # Thêm slide đầu tiên
first_slide. hình dạng. chức vụ. text = "Tạo powerpoint bằng Python" first_slide. trình giữ chỗ[1]. .
đoạn = khung văn bản. đoạn add_paragraph[]. text = "Đây là một đoạn trong slide thứ hai. "

Làm cách nào để trích xuất dữ liệu từ ppt bằng python?

Nếu bạn muốn trích xuất văn bản. .
nhập Bản trình bày từ pptx [pip cài đặt python-pptx]
cho mỗi tệp trong thư mục [sử dụng mô-đun toàn cầu]
nhìn vào mọi trang chiếu và mọi hình dạng trong mỗi trang chiếu
nếu có một hình dạng với thuộc tính văn bản, hãy in hình dạng đó. chữ

Tôi có thể tải xuống mẫu PPT miễn phí không?

10 trang web hàng đầu để tải xuống miễn phí các mẫu PowerPoint. Trình chiếu . Cầu trượt Lễ hội hóa trang. Tất cảPPT. com. showeet.

Chủ Đề