Tự động hóa sổ ghi chép được tạo bằng khung 5 mã nguồn mở. 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ưới Show Email 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
Bước tiếp theo là tạo một tệp 7 với các gói Python mà chúng tôi sẽ sử dụng
Chúng tôi sẽ cần 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
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ổ tay PythonMô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 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 với 1 và hiển thị phân tíchHãy bắt đầu Jupyter Notebook và tạo một sổ ghi chép mới 2. Hãy nhớ chọn hạt nhân 9
Như 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)
Dữ liệu trình bày trong sổ ghi chép sẽ được kiểm soát với hai biến
Chúng ta sẽ sử dụng biến 4 để chọn cổ phiếu. 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 0Hãy bắt đầu với một tiêu đề tốt. Nó sẽ hiển thị 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ẽ cắt một chuỗi có tiêu đề và sử dụng 8 để hiển thị nó dưới dạng Markdown
Xin lưu ý rằng ô vẫn là một loại mã và tôi đang sử dụng 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
Nó 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
Hiển thị chuỗi dưới dạng Markdown trong Jupyter Notebook 0Hãy vẽ một số dữ liệu. Tạo biểu đồ tài chính với 1 thật dễ dàng 1 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 DataFrames 2 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 5Chia sẻ sổ tay với MercuryHãy sử dụng khung công tác 5 để làm cho sổ ghi chép của chúng ta có thể chia sẻ được
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 4YAML chứa
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 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ỉ 6, bạn sẽ thấy dịch vụ web 5 đang chạy. Bạn có thể điều chỉnh các giá trị tiện ích con và thực thi sổ ghi chép với các tham số mới bằng nút 8triển khaiChúng tôi sẽ triển khai 5 trong 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 6Bước tiếp theo là thêm 0 cấu hình cách Heroku thực thi mã của chúng tôi 7Chúng tôi cần đẩy tất cả các tệp vào kho lưu trữ GitHub 8Triển khai lên đám mây được thực hiện bằng một lệnh 9Vui lòng đợi một lúc và bạn sẽ thấy ứng dụng web 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 2 để đặt thông báo qua email theo múi giờ của tôi. Chúng ta cần xác định các biến môi trường sau 0Các giá trị ví dụ có thể là 1Tôi đang đặt các biến môi trường trong tab 3 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 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 4 vào ứng dụng web 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 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 Tóm lượcJupyter Notebook cung cấp trình soạn thảo WYSIWYG để xây dựng báo cáo. Khung 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
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. ) Làm cách nào để tạo báo cáo bằng Python?Với Jinja2 , chúng ta có thể đặt các trình giữ chỗ đặc biệt trong mẫu để cho phép viết mã tương tự như cú pháp Python; . . Tạo một đối tượng Môi trường mẫu, đối tượng này sẽ được sử dụng để tải các mẫu. . Tải mẫu từ Môi trường. . Kết xuất mẫu với các biến Làm cách nào để tạo báo cáo HTML bằng Python?Cách tạo báo cáo HTML bằng Python . Cài đặt 'Aspose. Từ cho Python thông qua. NET' Thêm tham chiếu thư viện (nhập thư viện) vào dự án Python của bạn Tạo một mẫu HTML được đánh dấu bằng cú pháp dựa trên LINQ Tải tài liệu mẫu HTML Tải dữ liệu của bạn từ nguồn dữ liệu. tệp, cơ sở dữ liệu hoặc đối tượng tùy chỉnh Làm cách nào để tạo HTML bằng Python?Bạn có thể tạo và lưu tệp HTML với sự trợ giúp của một vài bước đơn giản. . Sử dụng hàm tệp open() để tạo tệp HTML Thêm dữ liệu đầu vào ở định dạng HTML vào tệp với sự trợ giúp của hàm write() Cuối cùng, lưu và đóng tệp Làm cách nào để tạo báo cáo trong Selenium Python?Để tạo báo cáo HTML cho thử nghiệm Selenium, chúng ta phải cài đặt plugin bằng lệnh. pip cài đặt pytest-html . Để tạo báo cáo, chúng tôi phải di chuyển từ thư mục hiện tại sang thư mục của tệp Pytest mà chúng tôi muốn thực thi. Sau đó chạy lệnh. pytest --html=báo cáo. |