Excel Automation with Python
Data analysis is the upcoming technology in the IT sector; this data analysis can be performed easily with the help of data frames or by using excel sheets. The data scientists mainly analyze the data by linking the data with any programming language and allowing the language to automate the data analysis. This automation process can be achieved with the help of the python programming language called Python Excel Automation.
Python is a general-purpose and high-level programming language. Python is easier to learn; it is open source and free of cost. Python has libraries that can be imported easily and perform many operations; to import the libraries; we need to install the python installation package ( pip ). Python is an object-oriented programming language consisting of "objects", which consists of the code and data; the object-oriented program consists of the data in terms of attributes and the code in terms of methods or functions.23w
Python is mainly used in the machine learning and data science department as it deals with vast data. The python language can also be used in web development, the Django and Flask are the frameworks used to create web applications using python.
MS Excel:
Microsoft Excel is an application provided by the Microsoft corporation which allows us to build graphs to build tables, and it is also used for the macro programming language. MS Excel helps save the file quickly, and we can quickly add or delete any data. The key features of MS Excel are:
- MS Excel allows data filtering so that we can change any values in the MS Excel spreadsheet and add our required data.
- MS Excel provides the headers and footers, which helps in differentiating the data; it also provides the passwords to protect the data from external users.
- MS Excel also supports sorting the data so that we can sort our data in ascending or descending order.
- MS Excel also supports formula auditing; it helps build the relationships between the cells and the tables provided in the data.
Python Excel Automation
Python excel automation is a method of building an excel sheet automatically using the python programming language. The steps to create an excel sheet using the python programming language are:
- Analyze the Excel sheet:
We need to analyze the data before performing any operation on the datasheet; generally, these files are present in the .csv format; we need to save the file first in the .xslx format. The python programming language will automatically create the report based on the data.
- Making tables using pandas:
The pandas provide different libraries which help us to build the pivot tables with the help of the “.pivot_table( )” for creating the tables. We can read the data in the Excel sheet with the use of the pandas library, and with the help of the Openpyxl library, we can create spreadsheets and charts and write Excel formulas. We can export the Pivot table with the help of the “.to_excel( )” function. We need to import the following libraries to perform the operation:
import pandas as pd
importopenpyxl
fromopenpyxl import load_workbook
fromopenpyxl.chart import Barchart, Reference
import string
- Report creation using Openpyxl:
With the help of the “load_workbook", we can create the report, and to save the file, we use the “.save( )” method. Python programming language helps us to create the excel sheet with the help of the pivot table; to perform this operation, we need to use the Barchart module and to find the position of the data, we need to use the Reference module.
- Automation of the Report:
Now we need to automate the report file with the help of some sets of code; we can write a function and write all the code in that function, and then we can automate the report:
Code:
# importing the libraries
import pandas as pd
import openpyxl
fromopenpyxl import load_workbook
fromopenpyxl.chart import Barchart, Reference
import string
# Creating the function
def process_workbook(newfile):
wb = xl.load_workbook(newfile)
sheet = wb['Sheet']
for row in range(2, sheet.max_row + 1):
cell_excel = sheet.cell(row, 3)
price = float(cell.value.replace('$', '')) * 0.9
price_cell_excel = sheet.cell(row, 4)
price_cell.value = price
values_excel = Reference(sheet, min_row=2, max_row=sheet.max_row, min_col=4, max_col=4)
chart = BarChart()
chart.add_data(values_excel)
sheet.add_chart(chart, 'b2')
wb.save(filename)
- Scheduling python script:
We need to schedule different schedules based on the data requirements for that operation; we need to go to the task manager and turn on the scheduler in it.