Một trong những ưu điểm của pylatex là dễ dàng kiểm soát chất lượng hình ảnh. Hình ảnh trong bản pdf của bạn sẽ có chất lượng như hình ảnh gốc. Khi sử dụng reportlab, tôi thấy hình ảnh bị nén tự động và chất lượng hình ảnh giảm xuống
Nhược điểm của pylatex là vì nó dựa trên LaTex nên khó có thể đặt hình ảnh chính xác vào nơi bạn muốn trên trang. Tuy nhiên, tôi nhận thấy rằng việc sử dụng đối số vị trí trong lớp Hình và đôi khi là Hình phụ sẽ cho kết quả đủ tốt
Mã ví dụ để tạo pdf với một hình ảnh duy nhất
from pylatex import Document, Figure
doc = Document[documentclass="article"]
with doc.create[Figure[position='p']] as fig:
fig.add_image['Lenna.png']
doc.generate_pdf['test', compiler='latexmk', compiler_args=["-pdf", "-pdflatex=pdflatex"], clean_tex=True]
Ngoài ra để cài pylatex [pip install pylatex] thì bạn cần cài thêm LaTex. Đối với Ubuntu và các hệ thống Debian khác, bạn có thể chạy
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
6. Nếu bạn đang sử dụng Windows, tôi muốn giới thiệu MikTex Tự động hóa sổ ghi chép được tạo bằng khung mã nguồn mở
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5. Chúng đạt được với 4 dòng mã. Hệ thống báo cáo có thể chạy cục bộ. Tuy nhiên, tôi sẽ triển khai nó lên đám mây [Heroku] trong bài viết này. Ứng dụng web có sẵn trực tuyến tại các báo cáo tự động-pdf. herokuapp. com. Tất cả mã đều có trên GitHub tại github. com/pplonski/automated-pdf-reports-python. Bản demo của ứng dụng web báo cáo bên dướiEmail có báo cáo PDF trong tệp đính kèm [nó được gửi tự động]
Tôi hy vọng rằng bài viết này sẽ giúp bạn xây dựng hệ thống báo cáo tự động của riêng bạn trong Python. Trong trường hợp có bất kỳ câu hỏi xin vui lòng liên hệ với tôi với mẫu sau. 😊
Thiết lập môi trường cục bộ
Hãy bắt đầu với việc tạo một dự án GitHub [vui lòng tạo một kho lưu trữ mới trên trang web GitHub]. Tất cả mã của tôi là trên github. com/pplonski/automated-pdf-reports-python. Bước đầu tiên là sao chép dự án
git clone git@github.com:pplonski/automated-pdf-reports-python.git
Bước tiếp theo là tạo một tệp
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
7 với các gói Python mà chúng tôi sẽ sử dụngmljar-mercury
yfinance
mplfinance
Chúng tôi sẽ cần
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
7 khi triển khai sổ ghi chép lên đám mây. [Đừng lo lắng, nó sẽ dễ thôi]. Bước tiếp theo là tạo một môi trường ảo# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
9 là tên của môi trường ảo. Bước cuối cùng là đặt môi trường ảo mới của chúng tôi làm hạt nhân Jupyter, vì vậy chúng tôi có thể sử dụng nó trong Notebook Jupyter khi tạo sổ ghi chép mới________số 8
sổ tay Python
Môi trường đã sẵn sàng. Chúng ta có thể bắt đầu làm việc trên sổ ghi chép Python. Sổ ghi chép sẽ lấy dữ liệu chứng khoán mới nhất với gói
python -m ipykernel install --user --name reportenv
0. Nó đang sử dụng Yahoo Finance API. Tiếp theo, sổ ghi chép sẽ hiển thị danh sách các tin tức gần đây, vẽ biểu đồ tài chính bằng python -m ipykernel install --user --name reportenv
1 và hiển thị phân tíchHãy bắt đầu một Notebook Jupyter và tạo một notebook mới
python -m ipykernel install --user --name reportenv
2. Hãy nhớ chọn hạt nhân # create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
9# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
3Như thường lệ, bước đầu tiên là nhập tất cả các gói cần thiết [tôi ước một ngày nào đó tôi có thể tự động hóa việc này]
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
4Dữ liệu trình bày trong sổ ghi chép sẽ được kiểm soát với hai biến
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5Chúng ta sẽ sử dụng biến
python -m ipykernel install --user --name reportenv
4 để chọn cổ phiếu. python -m ipykernel install --user --name reportenv
5 là một biến kiểm soát độ dài lịch sử. Nó sẽ được sử dụng trực tiếp trong gói python -m ipykernel install --user --name reportenv
0Hãy bắt đầu với một tiêu đề tốt. Nó sẽ hiển thị
python -m ipykernel install --user --name reportenv
4 và một ngày hiện tại. Hiển thị tiêu đề sẽ hơi phức tạp. Tôi sẽ xây dựng một chuỗi có tiêu đề và sử dụng ________ 88 để hiển thị nó dưới dạng Markdowngit clone git@github.com:pplonski/automated-pdf-reports-python.git
1Xin lưu ý rằng ô vẫn là một loại mã và tôi đang sử dụng
python -m ipykernel install --user --name reportenv
9 để tạo tiêu đề - Cú pháp đánh dấu bên trong một chuỗiTìm nạp dữ liệu chứng khoán được thực hiện trong hai dòng mã Python
git clone git@github.com:pplonski/automated-pdf-reports-python.git
3Nó không phải là tuyệt vời? . Hãy xây dựng chuỗi với danh sách tin tức
git clone git@github.com:pplonski/automated-pdf-reports-python.git
5Hiển thị chuỗi dưới dạng Markdown trong Jupyter Notebook
mljar-mercury
yfinance
mplfinance
0Hãy vẽ một số dữ liệu. Tạo biểu đồ tài chính với
python -m ipykernel install --user --name reportenv
1 thật dễ dàngmljar-mercury
yfinance
mplfinance
1python -m ipykernel install --user --name reportenv
0 cung cấp phân tích và chi tiết tài chính cho cổ phiếu. Chúng có thể dễ dàng truy cập dưới dạng Pandas DataFramesmljar-mercury
yfinance
mplfinance
2mljar-mercury
yfinance
mplfinance
3OK, sổ ghi chép báo cáo tài chính đã sẵn sàng. Nó sẽ trông giống như trong hình dưới đây
Tất cả mã đã được tạo, tin xấu là chúng tôi không thể chia sẻ báo cáo ở dạng hiện tại. Mã phải được ẩn và sổ ghi chép phải được chuyển đổi thành PDF [Định dạng Tài liệu Di động] để có thể mở trên bất kỳ hệ điều hành nào. Tin tốt là nó có thể được thực hiện dễ dàng với khung công tác
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5Chia sẻ sổ tay với Mercury
Hãy sử dụng khung công tác
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5 để làm cho sổ ghi chép của chúng ta có thể chia sẻ được- làm cho nó tương tác với
4 vàpython -m ipykernel install --user --name reportenv
5 dưới dạng các vật dụng được chọn,python -m ipykernel install --user --name reportenv
- ẩn mã để không sợ các cổ đông không có kỹ thuật,
- dễ dàng chuyển đổi sang định dạng PDF,
- lên lịch thực hiện hàng ngày với thông báo qua email và báo cáo PDF trong tệp đính kèm
Các tính năng trên có thể đạt được bằng cách thêm một ô RAW vào đầu sổ ghi chép với cấu hình YAML
mljar-mercury
yfinance
mplfinance
4YAML chứa
37 và# create virtual environment virtualenv reportenv # activate the env source reportenv/bin/activate # install packages pip install -r requirements.txt
38 của báo cáo,# create virtual environment virtualenv reportenv # activate the env source reportenv/bin/activate # install packages pip install -r requirements.txt
- Tham số
39 kiểm soát khoảng thời gian mà sổ ghi chép sẽ được thực thi, nó được đặt bằng chuỗi crontab,# create virtual environment virtualenv reportenv # activate the env source reportenv/bin/activate # install packages pip install -r requirements.txt
- Tham số
40 xác định danh sách các địa chỉ email sẽ nhận được thông báo sau khi thực hiện sổ ghi chép thành công,# create virtual environment virtualenv reportenv # activate the env source reportenv/bin/activate # install packages pip install -r requirements.txt
41 xác định định dạng của báo cáo,# create virtual environment virtualenv reportenv # activate the env source reportenv/bin/activate # install packages pip install -r requirements.txt
42 giấu mã trong cuốn sổ,# create virtual environment virtualenv reportenv # activate the env source reportenv/bin/activate # install packages pip install -r requirements.txt
43 thêm hai tiện ích được chọn được kết nối trực tiếp với các biến# create virtual environment virtualenv reportenv # activate the env source reportenv/bin/activate # install packages pip install -r requirements.txt
4 vàpython -m ipykernel install --user --name reportenv
5. Bạn có thể kiểm tra thêm các loại widget trong tài liệu của Mercurypython -m ipykernel install --user --name reportenv
Sổ ghi chép có tiêu đề YAML sẽ giống như trong hình bên dưới
Để kiểm tra xem nó hoạt động như thế nào tại địa phương, bạn có thể chạy
mljar-mercury
yfinance
mplfinance
5Nó sẽ khởi động một máy chủ cục bộ. Vui lòng mở trình duyệt web có địa chỉ
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
46, bạn sẽ thấy dịch vụ web # create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5 đang chạy. Bạn có thể điều chỉnh các giá trị tiện ích và thực thi sổ ghi chép với các tham số mới bằng nút # create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
48triển khai
Chúng tôi sẽ triển khai
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5 trên máy chủ đám mây để chạy tự động hàng ngày. Tôi sẽ sử dụng Heroku cho mục đích demo. Bạn có thể xem hướng dẫn triển khai trên các đám mây khác trong tài liệu. Tôi đang sử dụng công cụ Heroku CLIHãy tạo một ứng dụng Heroku mới
mljar-mercury
yfinance
mplfinance
6Bước tiếp theo là thêm
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
50 cấu hình cách Heroku thực thi mã của chúng tôimljar-mercury
yfinance
mplfinance
7Chúng tôi cần đẩy tất cả các tệp vào kho lưu trữ GitHub
mljar-mercury
yfinance
mplfinance
8Triển khai lên đám mây được thực hiện bằng một lệnh
mljar-mercury
yfinance
mplfinance
9Vui lòng đợi một lúc và bạn sẽ thấy ứng dụng web
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5 đang chạy. Ứng dụng của tôi đang chạy tại báo cáo tự động-pdf. herokuapp. comChúng tôi cần định cấu hình cài đặt email để cho phép gửi thông báo. Ngoài ra, chúng tôi sẽ đặt một
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
52 để đặt thông báo qua email trong múi giờ của tôi. Chúng ta cần xác định các biến môi trường sau# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
0Các giá trị ví dụ có thể là
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
1Tôi đang đặt các biến môi trường trong tab
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
53 trong bảng điều khiển Heroku, bên dưới là ảnh chụp màn hìnhXuất sổ ghi chép sang PDF yêu cầu gói xây dựng Puppeteer
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
2Vui lòng thêm nó vào bảng điều khiển Heroku [nó sẽ có sẵn bên dưới các vars cấu hình]
OK, chúng tôi sẽ cần triển khai lại ứng dụng để xem các thay đổi. Điều này có thể được thực hiện bằng cách cập nhật sổ ghi chép. Trong trường hợp của tôi, tôi sẽ thêm một thông báo
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
54 vào ứng dụng web # create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5. Nó sẽ là một tin nhắn tùy chỉnh có sẵn trong giao diện trang chủ. Bạn có thể đọc thêm về thông báo chào mừng trong tài liệuViệc triển khai ứng dụng cập nhật có thể được thực hiện với
mljar-mercury
yfinance
mplfinance
9Đó là tất cả. 😊 Bây giờ, hãy chờ báo cáo PDF tự động. Chúng sẽ được gửi đến địa chỉ email trong tệp đính kèm
Bản tóm tắt
Jupyter Notebook cung cấp trình soạn thảo WYSIWYG để xây dựng báo cáo. Khung
# create virtual environment
virtualenv reportenv
# activate the env
source reportenv/bin/activate
# install packages
pip install -r requirements.txt
5 thực hiện thêm công việc tạo các tiện ích tương tác, ẩn mã, lập lịch, xuất sang PDF, gửi thông báo qua email. Cả hai công cụ tạo nên sự kết hợp hoàn hảo để tạo hệ thống báo cáo tự động- Mã Python được sử dụng trong bài viết có sẵn tại github. com/pplonski/automated-pdf-reports-python
- Ứng dụng web dành cho sổ ghi chép đã lên lịch và thông báo qua email với sổ ghi chép PDF có sẵn trực tuyến trên các báo cáo pdf tự động. herokuapp. com
Nếu bạn có bất kỳ câu hỏi nào hoặc cần trợ giúp, vui lòng đăng ký nhận bản tin bên dưới. Trong biểu mẫu, bạn có thể để lại phản hồi, nhận xét hoặc câu hỏi. Chúng tôi cố gắng hết sức để phản hồi nhanh chóng. ]