From c8e50543396a832c797463ac84a6eb96a1aa4683 Mon Sep 17 00:00:00 2001 From: Amit kumar mishra Date: Thu, 11 Mar 2021 20:20:12 +0530 Subject: [PATCH 1/5] Spreadsheet --- Spreadsheet_Automation/PriceBook.xlsx | Bin 0 -> 9898 bytes .../Purchases - Home B.xlsx | Bin 0 -> 10145 bytes Spreadsheet_Automation/script.py | 24 ++++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 Spreadsheet_Automation/PriceBook.xlsx create mode 100644 Spreadsheet_Automation/Purchases - Home B.xlsx create mode 100644 Spreadsheet_Automation/script.py diff --git a/Spreadsheet_Automation/PriceBook.xlsx b/Spreadsheet_Automation/PriceBook.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..fcdb7483d22427f5962d57239bd2476e13a2ab8f GIT binary patch literal 9898 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 literal 0 HcmV?d00001 diff --git a/Spreadsheet_Automation/script.py b/Spreadsheet_Automation/script.py new file mode 100644 index 0000000000..9c3c98db35 --- /dev/null +++ b/Spreadsheet_Automation/script.py @@ -0,0 +1,24 @@ +# importing libraries + +import pandas as pd +import plotly.express as px + +# storing the dataset +book_relative_path = 'Purchases - Home B.xlsx' +book_prices = 'PriceBook.xlsx' + +# reading the data +data_prices = pd.read_excel(book_prices) +data_home_1 = pd.read_excel(book_relative_path) + +#print​(df_prices, df_home_1) + +data_total = data_home_1.merge(data_prices, on='ID') + +data_total['Total Price'] = data_total['PURCHASED AMOUNT'] * data_total['Price'] + +#print​(df_total) + +fig = px.pie(data_total[['MATERIAL', 'Total Price']], values='Total Price', names='MATERIAL') +fig.show() + From bc52bf34f51bf708890fa650d8387941945acf0d Mon Sep 17 00:00:00 2001 From: Amit kumar mishra Date: Fri, 12 Mar 2021 11:05:35 +0530 Subject: [PATCH 2/5] Readme --- Spreadsheet_Automation/Readme.md | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Spreadsheet_Automation/Readme.md diff --git a/Spreadsheet_Automation/Readme.md b/Spreadsheet_Automation/Readme.md new file mode 100644 index 0000000000..29404b3802 --- /dev/null +++ b/Spreadsheet_Automation/Readme.md @@ -0,0 +1,36 @@ +# Spreadsheet Automation + +[![forthebadge](https://forthebadge.com/images/badges/made-with-python.svg)](https://forthebadge.com) + +## Spreadsheet Automation Functionalities : 🚀 + +- First upload two datasets +- The script will we compare the two datasets +- The output will be a pie chart + +## Spreadsheet Automation Instructions: 👨🏻‍💻 + +### Step 1: + + Open Termnial 💻 + +### Step 2: + + Locate to the directory where python file is located 📂 + +### Step 3: + + Run the command: python script.py/python3 script.py 🧐 + +### Step 4: + + Sit back and Relax. Let the Script do the Job. ☕ + +### Requirements + + - pandas + - plotly + +## Author + + Amit Kumar Mishra \ No newline at end of file From 8d23e2ca5cdfd6aeadd1796a81d948def5f2db94 Mon Sep 17 00:00:00 2001 From: Amit kumar mishra Date: Fri, 12 Mar 2021 20:01:29 +0530 Subject: [PATCH 3/5] Update --- Spreadsheet_Automation/script.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Spreadsheet_Automation/script.py b/Spreadsheet_Automation/script.py index 9c3c98db35..ff61293dab 100644 --- a/Spreadsheet_Automation/script.py +++ b/Spreadsheet_Automation/script.py @@ -4,8 +4,8 @@ import plotly.express as px # storing the dataset -book_relative_path = 'Purchases - Home B.xlsx' -book_prices = 'PriceBook.xlsx' +book_relative_path = input("Enter first dataset") +book_prices = input("Enter second dataset") # reading the data data_prices = pd.read_excel(book_prices) @@ -13,12 +13,14 @@ #print​(df_prices, df_home_1) -data_total = data_home_1.merge(data_prices, on='ID') +item = input("What is the basis of merging? ") +data_total = data_home_1.merge(data_prices, on=item) data_total['Total Price'] = data_total['PURCHASED AMOUNT'] * data_total['Price'] #print​(df_total) - -fig = px.pie(data_total[['MATERIAL', 'Total Price']], values='Total Price', names='MATERIAL') +material=input("Enter criteria 1") +price=input("Enter criteria 2") +fig = px.pie(data_total[[material, price]], values=price, names=material) fig.show() From 105f3328b62e2b22368f75b366c9eb3e52ddd6a5 Mon Sep 17 00:00:00 2001 From: Amit kumar mishra Date: Fri, 12 Mar 2021 22:15:27 +0530 Subject: [PATCH 4/5] Update --- Spreadsheet_Automation/script.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Spreadsheet_Automation/script.py b/Spreadsheet_Automation/script.py index ff61293dab..a54e9d7bed 100644 --- a/Spreadsheet_Automation/script.py +++ b/Spreadsheet_Automation/script.py @@ -16,11 +16,10 @@ item = input("What is the basis of merging? ") data_total = data_home_1.merge(data_prices, on=item) -data_total['Total Price'] = data_total['PURCHASED AMOUNT'] * data_total['Price'] #print​(df_total) -material=input("Enter criteria 1") -price=input("Enter criteria 2") -fig = px.pie(data_total[[material, price]], values=price, names=material) +criteria_1=input("Enter criteria 1") +criteria_2=input("Enter criteria 2") +fig = px.pie(data_total[[criteria_1, criteria_2]], values=criteria_2, names=criteria_1) fig.show() From a73c333f6ddfbaa1f105abb5f7395a820a487e60 Mon Sep 17 00:00:00 2001 From: Amit kumar mishra Date: Sat, 13 Mar 2021 21:00:07 +0530 Subject: [PATCH 5/5] Update --- Spreadsheet_Automation/script.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Spreadsheet_Automation/script.py b/Spreadsheet_Automation/script.py index a54e9d7bed..fce806ff0f 100644 --- a/Spreadsheet_Automation/script.py +++ b/Spreadsheet_Automation/script.py @@ -4,17 +4,17 @@ import plotly.express as px # storing the dataset -book_relative_path = input("Enter first dataset") -book_prices = input("Enter second dataset") +data1 = input("Enter first dataset") +data2 = input("Enter second dataset") # reading the data -data_prices = pd.read_excel(book_prices) -data_home_1 = pd.read_excel(book_relative_path) +data_read_1 = pd.read_excel(data1) +data_read_2 = pd.read_excel(data2) #print​(df_prices, df_home_1) -item = input("What is the basis of merging? ") -data_total = data_home_1.merge(data_prices, on=item) +reference = input("What is the basis of merging? ") +data_total = data_read_2.merge(data_read_1, on=reference) #print​(df_total)