How to Generate an Analytics Report (pdf) in Python!

  Рет қаралды 152,558

Keith Galli

Keith Galli

Күн бұрын

The first 1000 people to use the link will get a free trial of Skillshare Premium Membership: skl.sh/keithgalli10201
In this video we see how we can take visualizations that we plot in python libraries like Matplotlib & Plotly and package them into a nice looking analytics report using the fpdf library.
Source code: github.com/keithgalli/generat...
Data: github.com/CSSEGISandData/COV...
PyFPDF Docs: pyfpdf.readthedocs.io/en/latest/
Helpful blog post mentioned: towardsdatascience.com/covid-...
Thank you to Skillshare for sponsoring this video!
-------------------------
Follow me on social media!
Instagram | / keithgalli
Twitter | / keithgalli
-------------------------
Video Timeline!
0:00 - What we will be doing in this video
1:30 - Check out Skillshare! (sponsored)
3:00 - Source code & Setup
6:37 - Python FPDF library basics
9:42 - Choosing our paper format (A4, Letter, etc)
11:54 - Adding and resizing images in our PDF!
18:52 - Helper method (which states & countries can we plot?)
21:48 - Continuing to build out our report (exploring source code)
27:17 - Adding additional pages to the report
29:09 - Adding a title to our report
32:37 - Adding a professional letterhead to report
35:00 - Plotting geographic maps with covid-19 data (plotly)
40:02 - Using datetime library to automatically grab & format yesterday’s date
43:46 - Finalizing our report
46:41 - Where are the colors set?
48:11 - Final thoughts
-------------------------
If you are curious to learn how I make my tutorials, check out this video: • How to Make a High Qua...
Practice your Python Pandas data science skills with problems on StrataScratch!
stratascratch.com/?via=keith
Join the Python Army to get access to perks!
KZbin - / @keithgalli
Patreon - / keithgalli
*I use affiliate links on the products that I recommend. I may earn a purchase commission or a referral bonus from the usage of these links.

Пікірлер: 187
@KeithGalli
@KeithGalli 3 жыл бұрын
Hope you all enjoyed this video! If you have any questions, let me know here in the comments :) Also for a bunch of great classes be sure to check out Skillshare! The first 1000 people to use the link will get a free trial of Skillshare Premium Membership: skl.sh/keithgalli10201
@metameles5846
@metameles5846 3 жыл бұрын
Thanks a lot for this great tutorial. A bonus would have to add a crosstable data for example.
@nikhilprem7998
@nikhilprem7998 3 жыл бұрын
kzbin.info/www/bejne/hovKgp6AiKaDaMk I am stuck in the imaginary number can you solve it?
@JaveGeddes
@JaveGeddes 3 жыл бұрын
I was hoping to find a way to access BeautifulSoup results in html
@utkarshaattarde5272
@utkarshaattarde5272 3 жыл бұрын
It's super helpful. I have a question - I'm generating a report having header, footer and in body - a table with bar graph. The problem is table continues to 2nd page and overwrite with the header(starts from top ). Please help me with this. You can answer this question on Stack overflow website :- stackoverflow.com/questions/65987187/page-continuation-below-header-in-fpdf Thanks in advance
@utkarshaattarde5272
@utkarshaattarde5272 3 жыл бұрын
Please make more videos with fpdf lib
@larflores1
@larflores1 3 жыл бұрын
This is great! Thanks for all the hard work and effort you put into these tutorials. It really comes through how thoughtful everything is on video. Loved it!
@amirabdoll
@amirabdoll 3 жыл бұрын
Just letting you know that you are a champion and I have so much respect and love for you. I am following your post and immensely enjoying them. Keep the great work up.
@davidnguyen7160
@davidnguyen7160 3 жыл бұрын
I have so many projects lined up but keep getting caught up with your projects. Keep up the great work!
@chrislee7704
@chrislee7704 2 жыл бұрын
Dude thank you!! I'd been searching for a way to generate slick report with python for some time and this has everything I need. Your video also explains the process and features far better than articles I have found.
@kbstar12
@kbstar12 3 жыл бұрын
Thanks Keith! I was able to implement this into my own work this week. Good stuff keep it coming!
@tyswenson7542
@tyswenson7542 3 жыл бұрын
Dude, you read my mind with this video... it’s scary how much I needed this.
@mapa5000
@mapa5000 3 жыл бұрын
I like the way you look for information and handle issues during your video. Excellent job.!!!
@kewalmishra7870
@kewalmishra7870 3 жыл бұрын
Really grateful for ALL the content that you are putting up in this field. You have no idea how much these videos are helping me. THANKS A LOT!
@KeithGalli
@KeithGalli 3 жыл бұрын
you're very welcome!!
@raulsiqueirayt
@raulsiqueirayt 3 жыл бұрын
I've been looking for this video a long time, thanks for that, best content ever!
@bidhanbhattarai8863
@bidhanbhattarai8863 3 жыл бұрын
You come up with the most interesting tutorials Keith.
@mrmuranga
@mrmuranga 2 жыл бұрын
Amazing....thanks. Jumping right to my first pdf plots from tomorrow..greatstuff !
@ICQSamaelGnosis
@ICQSamaelGnosis 3 жыл бұрын
Keith - thanks for this video. It just arrived exactly when I needed it! Big thanks!
@nickt423
@nickt423 3 жыл бұрын
Keith, thanks for making these videos. They have really helped me!
@duonghue8388
@duonghue8388 3 жыл бұрын
Thank you for your work. It's super helpful. Hope to see more of this
@anthonycamarillo5806
@anthonycamarillo5806 3 жыл бұрын
Thank you KZbin algorithm for putting this on my home page when I was getting ready to do intense searching on reporting! Also quick suggestion: instead of having to download the libraries each time maybe you can export a virtual environment to YAML file so people will automatically have the environment and all of the dependencies
@johnwig285
@johnwig285 3 жыл бұрын
Wtf i didnt know that was possible. This channel is beyond awesome!
@ritwaj6791
@ritwaj6791 3 жыл бұрын
Damn finally someone came up with us, I was wondering in these times how did non-technical people understand the visualizations looking at code and also that's also not much appealing showcasing to this kind of people in a presentation meeting.
@matiastorres392
@matiastorres392 3 жыл бұрын
Amazing that you Start to show us some of cloud service!! Thats its a must on this days!!! Thanks a lot
@oenriqueg
@oenriqueg 3 жыл бұрын
Booom! 🤯🤯🤯🤯 Thank you very much Keith!! I have a lot of things to learn and practice, you are amazing. 🙌🙌🙌🙌🙌🙌
@Evan_242
@Evan_242 3 жыл бұрын
Very very useful, I just get a job in Data Science and I'm sure this kind of report will be very handy :) Thanks Keith
@rodrigoolanda9176
@rodrigoolanda9176 3 жыл бұрын
Dude, you're the best! Thanks for sharing your knowledge!
@DodaGarcia
@DodaGarcia Жыл бұрын
Thank you for this overview! I am especially impressed by the map plotting functionality, will definitely look into that. As someone coming from web dev, thought I'd suggest that it might be easier to, instead of trying to wrangle the PDF layout in the code, generate the report in HTML with the help of a utility CSS library such as Tailwind and then running a separate step to convert that into PDF. That would make it easier to generate a standard layout, and as a bonus would also give you the option to make the HTML version available.
@itbeat7899
@itbeat7899 2 жыл бұрын
You are awesome! I love you are going through each part of the script
@cash80flow
@cash80flow 3 жыл бұрын
I am always looking forward to your tutorials. Another great one👍👍
@KeithGalli
@KeithGalli 3 жыл бұрын
Thank you sir!
@e-normous
@e-normous Жыл бұрын
Thanks a lot for this very helpful tutorial. Keep up the good work!
@faizalimuhammadzoda4731
@faizalimuhammadzoda4731 3 жыл бұрын
Very useful tutorial. Thanks. And greetings from Central Asia.
@hectormotsepe1581
@hectormotsepe1581 3 жыл бұрын
Keith Galli. You are the best bro Much love from South Africa
@KeithGalli
@KeithGalli 3 жыл бұрын
Appreciate the support! 🙌
@TanayaAmar
@TanayaAmar 3 жыл бұрын
Love the topic! Thanks so much!! 🤩 And the hairstyle looks great to me - not sure why some folks have a problem lol
@Oceansteve
@Oceansteve 2 жыл бұрын
I watched this today last year and was only starting to learn Python for Data Science. Now I am using it for paid work. TY!
@NoahElRhandour
@NoahElRhandour 3 жыл бұрын
I'm learning python and your tutorials are among the best I've ever seen. thank you sooooo much and greetings from Germany x)
@JasonMinhas
@JasonMinhas 3 жыл бұрын
Hey, Keith awesome tutorial! At 42:23 to remove leading "0" you can do "%#m/%#d/%y" instead. The "#" will remove leading "0"
@KeithGalli
@KeithGalli 3 жыл бұрын
Great suggestion! So I was going to do this, but I believe that date format is Windows specific. On Linux & MacOS the "#" needs to be a "-", so ultimately I decided to go with a solution I was sure would work on all platforms :).
@abhishekgautam478
@abhishekgautam478 3 жыл бұрын
man your all videos are awesome. thank you.
@AbhishekSharma-hy4nl
@AbhishekSharma-hy4nl 3 жыл бұрын
I love ur videos bro... because of u I'm able to qualify an data analyst exam also gave some interviews didn't get any hope get in future but anyway thanks alot..❤️❤️ love from India and also make some videos on azure and aws..
@gopichand5717
@gopichand5717 3 жыл бұрын
Really enjoyed your video Thanks for sharing 🙂
@xavierfournat8264
@xavierfournat8264 3 жыл бұрын
Hi Keith, This were the best 49:14 minutes I spent this week... ...OK, maybe the second best 49:14, right after the time spent yesterday building play dough dinosaurs with my 2 y.o. son after a 1 week business trip. But you were really close from 1st place, I promised :) More seriously, absolutly stunning tutorial! Highly valuable and extremly clearly explained. Thanks for that !
@KeithGalli
@KeithGalli 3 жыл бұрын
This comment put a big smile on my face! I appreciate the kind words. I know I could never compare to building play dough dinosaurs with your son, but I feel honored to even come close :)
@alpheim4129
@alpheim4129 Жыл бұрын
Thank you so much. With your help I have automated reports on my website❤️
@KeithGalli
@KeithGalli Жыл бұрын
Awesome! You are very welcome
@vitoroliveiradesouza4214
@vitoroliveiradesouza4214 Жыл бұрын
Hi Keith! Awesome Tutorial, thanks for sharing it! Just one quick question: Did you realize you were clicking the rotate button instead of the update one at 26:30?
@amanpatyal2187
@amanpatyal2187 3 жыл бұрын
Waiting for the second one.... . Veeeerrry informative...
@Magnus.Ek.1
@Magnus.Ek.1 3 жыл бұрын
I use Ananconda and set-up an environment that I named ´covidMap´. In that env with python3.8 I installed all the dependencies. I got the report to run instantly. Next move is to see if I can get it to work with an European map. Thanks for the inspiration!
@mprencipe
@mprencipe 2 жыл бұрын
It would be very nice to have a tutorial on pythontex, too! There are no decent tutorials of this subject and, since your are very skilled in teaching, you would make the difference!
@TheMISBlog
@TheMISBlog 3 жыл бұрын
Great Video Keith, keep up the good work
@patrickdamour1728
@patrickdamour1728 3 жыл бұрын
❤️ content is constantly improving!
@KeithGalli
@KeithGalli 3 жыл бұрын
Thanks buddy ❤️
@hannukoistinen5329
@hannukoistinen5329 2 жыл бұрын
Some statistic courses may should be taken!! Nice keyboard working anyway:)!!
@web3global
@web3global 3 жыл бұрын
Great Efforts Brother !!! Keep the work up!
@KeithGalli
@KeithGalli 3 жыл бұрын
Thank you! :)
@yitongsun6702
@yitongsun6702 2 жыл бұрын
Thank you, it's really helpful.
@allanmarzuki5534
@allanmarzuki5534 3 жыл бұрын
Awesome tutorial Keith! How about LaTeX tutorial for the next video?
@python360
@python360 3 жыл бұрын
Nice video, no need to try Skillshare with people like you making vids on YT! I have just been doing a price tracker with Python, using CRON to get data daily from Amazon, and save to MySQL and make graphs with Matplotlib. Is Plotly better/going to replace Matplotlib? In your opinion? Will be interested to see your next video!
@money_wins_controls
@money_wins_controls 3 жыл бұрын
You are my hero Not all heroes wear caps!
@Oceansteve
@Oceansteve 3 жыл бұрын
Top class content! faultless tutorials..
@foxwelly
@foxwelly 3 жыл бұрын
I love you Keith!!! Your tutorials are the bees knees!!
@KeithGalli
@KeithGalli 3 жыл бұрын
thanks broski!!
@SHABAREESH99
@SHABAREESH99 3 жыл бұрын
Thanks you helped me so much in python
@brentsimpson3791
@brentsimpson3791 Ай бұрын
Awesome video! Thanks
@kacperm2909
@kacperm2909 3 ай бұрын
Very useful for learning python ;) ThX
@spyxfam
@spyxfam 3 жыл бұрын
Love your vid :) Is it also possible to add other font family like Verdana?
@williamfarrell3822
@williamfarrell3822 3 жыл бұрын
Great job, Keith
@dr.girthmuffin8584
@dr.girthmuffin8584 3 жыл бұрын
Weepee! what a great vid u have! just the right size for me! I hate when they try to cram too much into short vid. OUCH! Anyways! I do wonder though... should I use PDF for my wedding invitations or is more for legal documents? keep up great fun! -Doc
@KeithGalli
@KeithGalli 3 жыл бұрын
Good to hear from you again Dr. Girth Muffin! It's been a while. Yeah I definitely recommend this method for wedding invitations. You can even go as far as using an API to automatically send them, wouldn't that be neat! xoxo keith
@hosseinramezani1428
@hosseinramezani1428 3 жыл бұрын
Thank you for your work
@kanefoster8780
@kanefoster8780 3 жыл бұрын
This is absurd! I was quite literally about to search on KZbin how to design and analytic report in Python. Great minds ey.
@ayencoscolfield3312
@ayencoscolfield3312 3 жыл бұрын
Wow Great minds! meaning you like it , why is it absurd then , i dont get
@kanefoster8780
@kanefoster8780 3 жыл бұрын
@@ayencoscolfield3312 Haha I meant it was an absurd coincidence such a video would be uploaded just as I started looking for it, and we were two great minds for thinking of the same idea at the same time
@ayencoscolfield3312
@ayencoscolfield3312 3 жыл бұрын
@@kanefoster8780 ok i understand now, cheers
@SoutheastSam3
@SoutheastSam3 3 жыл бұрын
I needed this. Don't want to scroll through a Jupyter notebook when showing analysis at work.
@KeithGalli
@KeithGalli 3 жыл бұрын
🙌
@hansmachtdampf
@hansmachtdampf 2 жыл бұрын
Hi Keith, Thanks for your videos - they are really great. One question that I have - I have done my analysis in Jupyter Notebooks and can render them via voila. I use some styling on the tables colors etc. Now I want to generate a pdf report out of it. Any hint? Especially on the step from Jupyter to pdf. Thanks a lot and keep up the great works !
@thyagovieira6283
@thyagovieira6283 2 жыл бұрын
Thanks Keith!
@wewjoj
@wewjoj 3 жыл бұрын
This video is awesome!
@starlabs7775
@starlabs7775 3 жыл бұрын
nice tutorial bro!
@Trazynn
@Trazynn 3 жыл бұрын
You deserve better than Skillshare man.
@Gamma3
@Gamma3 3 жыл бұрын
Thanks! This is the best channel
@KeithGalli
@KeithGalli 3 жыл бұрын
appreciate the support 🙌
@GOTTT
@GOTTT Жыл бұрын
Hey Keith, Amazing video! Really well explained and helped me out a lot here. My problem is that the pdf generation is taking forever! Even just 1 image. Do you know why this could be?
@Magmatic91
@Magmatic91 3 жыл бұрын
Please make a video about a real world project in Data Analytics like the one you did on Sales Analytics. Thanks.
@nyasingajeff1789
@nyasingajeff1789 3 жыл бұрын
I see You Got a new haircut, But as Usual Fresh Content.. Awesome Content
@ivannordnesdahlberg6368
@ivannordnesdahlberg6368 3 жыл бұрын
Thanx for another great tutorial. Can you also show an example where you include some nice tables in the PDF report?
@KeithGalli
@KeithGalli 3 жыл бұрын
Glad you enjoyed the video! I might create some examples with tables at some point, but until I do that this answer on stack overflow might be helpful: stackoverflow.com/a/39358752
@ritwaj6791
@ritwaj6791 3 жыл бұрын
Also could you please make a git and GitHub full tutorial video explaining things like settings to opt while installing, cloning, and uploading the first project. T
@barikam2m891
@barikam2m891 Ай бұрын
You are the best thank you.
@rezashams7434
@rezashams7434 3 жыл бұрын
Attractive as expected 👍
@drikarts4816
@drikarts4816 2 жыл бұрын
Thank you!
@yashkaran1
@yashkaran1 3 ай бұрын
Thanks man!!!!
@ajdevz1067
@ajdevz1067 3 жыл бұрын
Thanks for this python tutorials
@KeithGalli
@KeithGalli 3 жыл бұрын
you're welcome!
@user-he5mq3fv1d
@user-he5mq3fv1d 3 жыл бұрын
thank you keith (from morocco)
@user-nl6vf1cg2s
@user-nl6vf1cg2s 3 жыл бұрын
thank you so much. :)
@hansomary3827
@hansomary3827 3 жыл бұрын
Great, good job
@Voltaire321
@Voltaire321 3 жыл бұрын
pipenv is really nice for handling dependencies so you don't have to manually install modules
@easy_coding0
@easy_coding0 2 жыл бұрын
that is Mr i liked the way you rxplain things
@islombabaev
@islombabaev 3 жыл бұрын
dude you could just initialized a venv before pushing the project to git and use pip freeze > requirements.txt so as to get all the required modules which were installed so as to make your project work. THEN, you could upload the requirements.txt to git and anyone cloning your repo could simply install all the modules used using pip install -r requirements.txt. Hope this was helpful!
@seanmackenziedataengineering
@seanmackenziedataengineering 3 жыл бұрын
Pretty cool combination of tech to accomplish this! The R crowd are pretty spoiled with R markdown but for those who prefer Python this is a neat way to do it.
3 жыл бұрын
Yep. This type of exercise is hard to do in python. R with Rmarkdown is so much easier.
@KeithGalli
@KeithGalli 3 жыл бұрын
Agreed! This video was pretty heavily inspired by trying to find a Python alternative to R markdown
@user-tf5bs6de6z
@user-tf5bs6de6z 3 жыл бұрын
@@KeithGalli , and in RMarkdown you can use code chunks with Python code too.
@devjesusc
@devjesusc 2 жыл бұрын
Awesome!!
@swm7f137
@swm7f137 2 жыл бұрын
can we use this package in dash plotly please advice and thank you so much for your hard work
@monkyspnk777
@monkyspnk777 3 жыл бұрын
This is a great tutorial. Can you do one that creates a core program that starts every time the computer starts and I can have it run other Scripts like this one?
@andymartinez5407
@andymartinez5407 3 жыл бұрын
Keith, you are a fucking rockstar man! Greetings from Argentina bro!
@boundless-sher
@boundless-sher 3 жыл бұрын
Hey Keith, can you make a video about yourself as well? Talk about things like your job, how you got into MIT, what brought to programming and stuff
@boundless-sher
@boundless-sher 3 жыл бұрын
by the way I'm from Uzbekistan , and realy like your content!
@karakol86
@karakol86 3 жыл бұрын
Super cool! Can you embed a video in an “interactive” pdf? Similar to a .gif?
@ericbi8338
@ericbi8338 3 жыл бұрын
Keith, you are so cool!
@vasoochigava5213
@vasoochigava5213 2 жыл бұрын
thank you for your awesome channel, Big fan. But sincerely why do we need to do it this long in python if we have power bi? that is way easier than this isn't it?
@israeldeandrade4022
@israeldeandrade4022 Жыл бұрын
thank you
@alimehrhosseini2230
@alimehrhosseini2230 3 жыл бұрын
Tnx Keith
@tophattommy2
@tophattommy2 Жыл бұрын
Do you have a video covering how you created the maps? I recognize that you mentioned the "Create COVID-19 Map Animation..."
@tophattommy2
@tophattommy2 Жыл бұрын
But I have yet to find a written tutorial that actually works.
@pedrobarros9444
@pedrobarros9444 3 жыл бұрын
thanks keith uber!
@KeithGalli
@KeithGalli 3 жыл бұрын
Hahahaha 😂
@martinkroll1613
@martinkroll1613 3 жыл бұрын
Hi, thanks for a great video! I was trying to follow your tutorial with data from db of my Django project and faced the following problem: If I don't save charts and just add them to memory stream (buf_chart = io.BytesIO() plt.savefig(buf_chart, dpi=200) I can't use pdf.image( ) method as it expects image path as first argument and not binary data. Any suggestions how can I add images to pdf from memory without saving them?
@AgentJRock805
@AgentJRock805 3 жыл бұрын
you can use a minus sign to make single digits instead of using replace. ('%-m/%-d/%y')
@afgaco
@afgaco 2 жыл бұрын
GRACIAS!
@Hibernatus50
@Hibernatus50 3 жыл бұрын
Hello, thanks for the video, super informative! However, I'm having an issue with the create_usa_figure function. It throws me an error : "write_image() got an unexpected keyword argument "engine" " . For the life of me, I can't figure out how to solve that (tried removing it, tries reinstalling plotly, installing kaleido, ...) nothing works and can't find help on StackOverFlow. Do you have an idea?
@celsushewitt5676
@celsushewitt5676 3 жыл бұрын
Hi keith - great video . My goal is to use your new_report template to do a pdf report from Jupyter note book.Can this be done and how??
How to Schedule & Automatically Run Python Code!
1:20:23
Keith Galli
Рет қаралды 138 М.
Solving real world data science tasks with Python Pandas!
1:26:07
Keith Galli
Рет қаралды 1,5 МЛН
When Jax'S Love For Pomni Is Prevented By Pomni'S Door 😂️
00:26
🍕Пиццерия FNAF в реальной жизни #shorts
00:41
Python RAG Tutorial (with Local LLMs): AI For Your PDFs
21:33
pixegami
Рет қаралды 107 М.
Introduction to Dash Plotly - Data Visualization in Python
29:21
Charming Data
Рет қаралды 769 М.
Create PDFs in Python FULL TUTORIAL
31:22
BigPlot
Рет қаралды 6 М.
7 Python Data Visualization Libraries in 15 minutes
15:03
Rob Mulla
Рет қаралды 69 М.
Start Automating Your Life Using Python! (File Management with Python Tutorial)
13:07
Create PDF with Python | Part 1
10:03
Chart Explorers
Рет қаралды 106 М.
SQL + Python: Master Data Analysis and Create PDF Reports
13:09
Coding Is Fun
Рет қаралды 50 М.
When Jax'S Love For Pomni Is Prevented By Pomni'S Door 😂️
00:26