Created
February 13, 2022 15:01
-
-
Save sounishnath003/4ae4046a9a89a37ea3ccdc0cee8b629f to your computer and use it in GitHub Desktop.
excel-to-json-with-hyperlink.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "excel-to-json-with-hyperlink.ipynb", | |
"provenance": [], | |
"collapsed_sections": [], | |
"authorship_tag": "ABX9TyPMi8wbkfmMfp9CPMNQoV6f", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
}, | |
"accelerator": "GPU" | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/sounishnath003/4ae4046a9a89a37ea3ccdc0cee8b629f/excel-to-json-with-hyperlink.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!pip install openpyxl" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "OMXJAY4jgBkf", | |
"outputId": "cddf4446-f829-4569-e367-3099f36c57e2" | |
}, | |
"execution_count": 18, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Requirement already satisfied: openpyxl in /usr/local/lib/python3.7/dist-packages (3.0.9)\n", | |
"Requirement already satisfied: et-xmlfile in /usr/local/lib/python3.7/dist-packages (from openpyxl) (1.1.0)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import openpyxl\n", | |
"\n", | |
"wb = openpyxl.load_workbook('FINAL450.xlsx')\n", | |
"ws = wb.get_sheet_by_name('Sheet1')\n", | |
"ws" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "ON7mMM5_gEot", | |
"outputId": "f86cae7e-7aec-421b-b22c-54970f119e95" | |
}, | |
"execution_count": 29, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stderr", | |
"text": [ | |
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:4: DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).\n", | |
" after removing the cwd from sys.path.\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<Worksheet \"Sheet1\">" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 29 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"ws.cell(row=10, column=2).value" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 35 | |
}, | |
"id": "w5owqEM3iLpG", | |
"outputId": "a890ca44-6502-43cf-8695-5da26eca92d0" | |
}, | |
"execution_count": 61, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "string" | |
}, | |
"text/plain": [ | |
"'Move all the negative elements to one side of the array '" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 61 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def func(ws, min_row, max_row, col):\n", | |
" values = list()\n", | |
" try:\n", | |
" for r in range(min_row, max_row, 1):\n", | |
" values.append( ws.cell(row=r, column=col).value )\n", | |
" except:\n", | |
" print ('no record found in', r, \"row\")\n", | |
"\n", | |
" return values" | |
], | |
"metadata": { | |
"id": "1sNJ7W_oiTvA" | |
}, | |
"execution_count": 62, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def func2(ws, min_row, max_row, col):\n", | |
" values = list()\n", | |
" for r in range(min_row, max_row, 1):\n", | |
" try:\n", | |
" values.append( ws.cell(row=r, column=col).hyperlink.target )\n", | |
" except:\n", | |
" print ('no record found in', r, \"row\")\n", | |
" values.append(\"nil\")\n", | |
"\n", | |
" return values" | |
], | |
"metadata": { | |
"id": "yBi8k4nqjJRo" | |
}, | |
"execution_count": 87, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"MIN_ROW = 6\n", | |
"MAX_ROW = 481\n", | |
"# func(ws, 6, 20, 2), func2(ws, 6, 20, 2), func(ws, 6, 20, 1)" | |
], | |
"metadata": { | |
"id": "b-YuQrHujDUs" | |
}, | |
"execution_count": 88, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"catagory = func(ws, MIN_ROW, MAX_ROW, 1)\n", | |
"questions = func(ws, MIN_ROW, MAX_ROW, 2)\n", | |
"hyperlinks = func2(ws, MIN_ROW, MAX_ROW, 2)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "FZCXFy1CjG4D", | |
"outputId": "69309050-2550-4823-a939-bf2fbed44719" | |
}, | |
"execution_count": 89, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"no record found in 42 row\n", | |
"no record found in 43 row\n", | |
"no record found in 54 row\n", | |
"no record found in 55 row\n", | |
"no record found in 59 row\n", | |
"no record found in 99 row\n", | |
"no record found in 100 row\n", | |
"no record found in 137 row\n", | |
"no record found in 138 row\n", | |
"no record found in 164 row\n", | |
"no record found in 165 row\n", | |
"no record found in 175 row\n", | |
"no record found in 176 row\n", | |
"no record found in 212 row\n", | |
"no record found in 213 row\n", | |
"no record found in 236 row\n", | |
"no record found in 237 row\n", | |
"no record found in 273 row\n", | |
"no record found in 274 row\n", | |
"no record found in 294 row\n", | |
"no record found in 295 row\n", | |
"no record found in 334 row\n", | |
"no record found in 335 row\n", | |
"no record found in 354 row\n", | |
"no record found in 355 row\n", | |
"no record found in 400 row\n", | |
"no record found in 401 row\n", | |
"no record found in 408 row\n", | |
"no record found in 409 row\n", | |
"no record found in 470 row\n", | |
"no record found in 471 row\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"data = dict(catagory=catagory, question=questions, hyperlink=hyperlinks)" | |
], | |
"metadata": { | |
"id": "SUPhHsEWj1Xj" | |
}, | |
"execution_count": 90, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"len(catagory), len(questions), len(hyperlinks)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "DUjC79yLkLPW", | |
"outputId": "2dcef304-c9b0-4079-837f-e5e0afd1b2b9" | |
}, | |
"execution_count": 91, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(475, 475, 475)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 91 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df = pd.DataFrame(data)\n", | |
"df.sample(5)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 206 | |
}, | |
"id": "l9Kp5RD8kuCv", | |
"outputId": "36de2adf-fc11-4c82-acfa-622deeaee6d1" | |
}, | |
"execution_count": 93, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"\n", | |
" <div id=\"df-1d23a425-7235-413b-942b-537a36f5b03f\">\n", | |
" <div class=\"colab-df-container\">\n", | |
" <div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>catagory</th>\n", | |
" <th>question</th>\n", | |
" <th>hyperlink</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>Array</td>\n", | |
" <td>Chocolate Distribution problem</td>\n", | |
" <td>https://practice.geeksforgeeks.org/problems/ch...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>335</th>\n", | |
" <td>Heap</td>\n", | |
" <td>Merge “K” sorted arrays. [ IMP ]</td>\n", | |
" <td>https://practice.geeksforgeeks.org/problems/me...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>270</th>\n", | |
" <td>BackTracking</td>\n", | |
" <td>Printing all solutions in N-Queen Problem</td>\n", | |
" <td>https://www.geeksforgeeks.org/printing-solutio...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>Array</td>\n", | |
" <td>Merge 2 sorted arrays without using Extra space.</td>\n", | |
" <td>https://practice.geeksforgeeks.org/problems/me...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>203</th>\n", | |
" <td>Binary Trees</td>\n", | |
" <td>Kth Ancestor of node in a Binary tree</td>\n", | |
" <td>https://www.geeksforgeeks.org/kth-ancestor-nod...</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-1d23a425-7235-413b-942b-537a36f5b03f')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
" \n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n", | |
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" \n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" flex-wrap:wrap;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-1d23a425-7235-413b-942b-537a36f5b03f button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-1d23a425-7235-413b-942b-537a36f5b03f');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
" </div>\n", | |
" " | |
], | |
"text/plain": [ | |
" catagory ... hyperlink\n", | |
"29 Array ... https://practice.geeksforgeeks.org/problems/ch...\n", | |
"335 Heap ... https://practice.geeksforgeeks.org/problems/me...\n", | |
"270 BackTracking ... https://www.geeksforgeeks.org/printing-solutio...\n", | |
"11 Array ... https://practice.geeksforgeeks.org/problems/me...\n", | |
"203 Binary Trees ... https://www.geeksforgeeks.org/kth-ancestor-nod...\n", | |
"\n", | |
"[5 rows x 3 columns]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 93 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df[\"catagory\"].value_counts().plot(kind=\"bar\", figsize=(16,3))" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 333 | |
}, | |
"id": "QkKKjYmQlBVT", | |
"outputId": "f9d7b64e-863a-40bf-867c-5c6cb86ec211" | |
}, | |
"execution_count": 101, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2467000310>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 101 | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x216 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"" | |
], | |
"metadata": { | |
"id": "NjPTHeCclQbB" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment