Book Image

Python Automation Cookbook - Second Edition

By : Jaime Buelta
Book Image

Python Automation Cookbook - Second Edition

By: Jaime Buelta

Overview of this book

In this updated and extended version of Python Automation Cookbook, each chapter now comprises the newest recipes and is revised to align with Python 3.8 and higher. The book includes three new chapters that focus on using Python for test automation, machine learning projects, and for working with messy data. This edition will enable you to develop a sharp understanding of the fundamentals required to automate business processes through real-world tasks, such as developing your first web scraping application, analyzing information to generate spreadsheet reports with graphs, and communicating with automatically generated emails. Once you grasp the basics, you will acquire the practical knowledge to create stunning graphs and charts using Matplotlib, generate rich graphics with relevant information, automate marketing campaigns, build machine learning projects, and execute debugging techniques. By the end of this book, you will be proficient in identifying monotonous tasks and resolving process inefficiencies to produce superior and reliable systems.
Table of Contents (16 chapters)
14
Other Books You May Enjoy
15
Index

Reading images

Probably the most common data that is not text is image data. Images have their own set of specific metadata that can be read to filter values or perform other operations.

The main challenge is dealing with multiple formats and different metadata definitions. We'll show in this recipe how to get information from both a JPEG and a PNG, and how the same information can be encoded differently.

Getting ready

The best general toolkit for dealing with images in Python is, arguably, Pillow. This library allows you to easily read files in the most common formats, as well as perform operations on them. Pillow started as a fork of PIL (Python Imaging Library), a previous module that became stagnant some years ago.

We will also use the xmltodict module to transform some data from XML into a more convenient dictionary. We will add both modules to requirements.txt and reinstall them in the virtual environment:

$ echo "Pillow==7.0.0" ...