{ "info": { "author": "Samyak Ratna Tamrakar", "author_email": "samyak.r.tamrakar@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Database :: Database Engines/Servers" ], "description": "# GiantPandas\nSome special functions and connectors for Pandas.\n\n## Requirements\n\n* Python 3+ (Tested in 3.7)\n* numpy>=1.13.3\n* pandas>=0.25.0\n* pytest>=5.0.1\n* psycopg2-binary>=2.8.3\n* Unidecode>=1.0.22\n* xlrd>=1.2.0\n* XlsxWriter>=1.0.2\n* DailyLogger>=0.1.2\n* FreqObjectOps>=0.1.0\n\n\n## Install with pip\n```bash\n$ pip install GiantPandas\n```\n\n## Usage\n1. Import the library.\n ```python\n from GiantPandas import PandasOps, ExcelConnector, PsqlConnector\n ```\n1. Each of the imported submodules has several functions. Please refer to respective help for more information.\n\n#### ```PandasOps```\n\n1. ```PandasOps.get_row_count(dataframe)```: get row count of a dataframe\n1. ```PandasOps.get_dict_from_two_columns(dataframe, key_column, value_column, keep_duplicate_keys)```: get dictionary from two dataframe columns\n1. ```PandasOps.get_dataframe_with_all_permutations_from_dict(dict_with_list_values)```: create dataframe with all possible permutations from dict with values of type list\n1. ```PandasOps.set_column_as_index(dataframe, column_name, drop_original_column)```: set column as an index\n1. ```PandasOps.get_dict_of_column_name_to_type(dataframe)```: get dict of column name to their dtype\n1. ```PandasOps.get_column_names_by_type(dataframe, column_dtype)```: get all columns of desired dtype\n1. ```PandasOps.contains_all_integer_in_float_column(dataframe, column_name)```: check if all non-nan values in float columns are int\n1. ```PandasOps.set_column_names_to_alpha_numeric(dataframe)```: convert column name to alpha numeric\n1. ```PandasOps.set_column_names_to_snake_case(dataframe)```: convert column name to snake case\n1. ```PandasOps.exists_unnamed_headers(dataframe)```: check if a dataframe contains any unnamed headers\n1. ```PandasOps.exists_column(dataframe, column_name_list)```: check if a dataframe contains desired column\n1. ```PandasOps.get_maximum_length_of_dtype_object_values(dataframe, column_name)```: get maximum length of object in a column\n\n#### ```ExcelConnector```\n1. \t```ExcelConnector.get_sheet_names(file)```: get all sheet names\n1. \t```ExcelConnector.get_dataframe_from_excel(file, sheet_name, skip_rows_list)```: read excel sheet into a dataframe\n1. \t```ExcelConnector.send_dataframe_to_excel(file, dataframe_to_sheet_name_tuple_list, write_index)```: write dataframe to an excel sheet\n\n#### ```PsqlConnector```\nFirst, an instance must be created for establishing connection.\n```python\npsql_connector = PsqlConnector(host='localhost',\n dbname='postgres',\n username='postgres',\n password='',\n port='5432')\n```\nThen,\n1. ```psql_connector.get_psql_query_results_as_dataframe(query)```: get results of a psql query as a dataframe\n1. ```psql_connector.send_dataframe_to_psql(dataframe, schema_name, table_name, if_exists)```: upload dataframe to psql\n\n\n#### Demo\n\nDemo script for saving results of PostgreSQL query into an excel file.\n```bash\n$ python3 demo/Psql2Excel.py -f test2.xlsx -H localhost -d postgres -u postgres -t test_table -sn Sheet1\n```\n\nDemo script for uploading a table from excel sheet into a PSQL database.\n```bash\n$ python3 demo/Excel2Psql.py -f tests/test.xlsx -H localhost -d postgres -u postgres -t test_table\n```\n\n**© [Samyak Ratna Tamrakar](https://www.linkedin.com/in/srtamrakar/)**, 2019.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/srtamrakar/python-giant-pandas/archive/v_0.1.6.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/srtamrakar/python-giant-pandas", "keywords": "pandas,excel,postgres,psql,postgresql,redshift", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "GiantPandas", "package_url": "https://pypi.org/project/GiantPandas/", "platform": "", "project_url": "https://pypi.org/project/GiantPandas/", "project_urls": { "Download": "https://github.com/srtamrakar/python-giant-pandas/archive/v_0.1.6.tar.gz", "Homepage": "https://github.com/srtamrakar/python-giant-pandas" }, "release_url": "https://pypi.org/project/GiantPandas/0.1.6/", "requires_dist": null, "requires_python": "", "summary": "Some special functions and connectors for Pandas.", "version": "0.1.6" }, "last_serial": 5943023, "releases": { "0.0": [ { "comment_text": "", "digests": { "md5": "11c13dea4ecbb3004f1b5f38c8d25ea1", "sha256": "31f6ebbc3243bb687df86c63ef6dfe5999e4d178dca589306f67f6aa8479bde2" }, "downloads": -1, "filename": "GiantPandas-0.0.tar.gz", "has_sig": false, "md5_digest": "11c13dea4ecbb3004f1b5f38c8d25ea1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1336, "upload_time": "2019-08-23T10:08:54", "url": "https://files.pythonhosted.org/packages/63/35/129543264051916486a2fba92791d7a2f866c50b1778244eac46aad60d0c/GiantPandas-0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "f4c2a2a333640d042ea58b03d101acbb", "sha256": "7e0af716279b8106c49cfbef0347ebb368b35251ff009a628ecac1abae43c215" }, "downloads": -1, "filename": "GiantPandas-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f4c2a2a333640d042ea58b03d101acbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6518, "upload_time": "2019-08-25T18:32:53", "url": "https://files.pythonhosted.org/packages/a4/e6/289bde2e99c29df1386e3720dbe22f53889b30004557245cbc61f56d2e56/GiantPandas-0.0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "33542950a9b52f2f457da67c2708b441", "sha256": "8659bc51627b3ad968b933a762fda38713e648beabf8c12520da71000ff0badf" }, "downloads": -1, "filename": "GiantPandas-0.1.1.tar.gz", "has_sig": false, "md5_digest": "33542950a9b52f2f457da67c2708b441", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6636, "upload_time": "2019-08-29T17:21:59", "url": "https://files.pythonhosted.org/packages/24/fa/f106d047e795c689d2eaeb096bd37b81dcf20acbae8395ed1186d944caa7/GiantPandas-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1932960ec22c70df099dd4b7e1141c14", "sha256": "d23b6ea749f7510c651e91ed85e6c6d22d4cc83b5cf467210d81a2a0e61882f7" }, "downloads": -1, "filename": "GiantPandas-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1932960ec22c70df099dd4b7e1141c14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6665, "upload_time": "2019-08-29T17:44:01", "url": "https://files.pythonhosted.org/packages/0e/61/1e9421482c23f6e8f38b57b8e3b1e07466b07b7567cf4861971af5be9e3f/GiantPandas-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9c35a956d858b7dda9e268f134c49f13", "sha256": "597da09c1f1b177074fb023cfb3fccb93906278036c5f5e62cde462194c6c498" }, "downloads": -1, "filename": "GiantPandas-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9c35a956d858b7dda9e268f134c49f13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6631, "upload_time": "2019-09-04T06:32:19", "url": "https://files.pythonhosted.org/packages/76/28/ac2dcc993d35700b955db84722fc7f51a37b4ec7c891150f74b39d0686ef/GiantPandas-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8f9c580ae7d96a2df6451947016590e2", "sha256": "0e216d0a0dc2c22bf5f1c59f13ab0a65702137c097c36d292331f261cf5a3f2b" }, "downloads": -1, "filename": "GiantPandas-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8f9c580ae7d96a2df6451947016590e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6647, "upload_time": "2019-09-09T08:35:38", "url": "https://files.pythonhosted.org/packages/33/1e/26ef3c6557b977bfa44270fb7b0128ce500c47fe7e5e12e9231c523e933c/GiantPandas-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "8b97f0fe12ac5ff391e1d88ebee3f449", "sha256": "54321f9f80fc57de7e48c06305eb35405d2ba5079cb22796b2c275b1537a7439" }, "downloads": -1, "filename": "GiantPandas-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8b97f0fe12ac5ff391e1d88ebee3f449", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6672, "upload_time": "2019-09-12T13:02:58", "url": "https://files.pythonhosted.org/packages/76/01/ad6fc66d3c62d9ee6cf232b926c992e5b7d3d4037a871cc1826d274d5285/GiantPandas-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "66ce6a91224694d228c35d545b2b6181", "sha256": "696d0874a9d359ad5593d3a5a4cb406f0c19e4d40546956f1d82854fe44890ab" }, "downloads": -1, "filename": "GiantPandas-0.1.6.tar.gz", "has_sig": false, "md5_digest": "66ce6a91224694d228c35d545b2b6181", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6665, "upload_time": "2019-10-08T06:09:15", "url": "https://files.pythonhosted.org/packages/31/7d/ff04a01ab733d7674902c06870029555d0ffc95ab016f349c11f6567c80b/GiantPandas-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "66ce6a91224694d228c35d545b2b6181", "sha256": "696d0874a9d359ad5593d3a5a4cb406f0c19e4d40546956f1d82854fe44890ab" }, "downloads": -1, "filename": "GiantPandas-0.1.6.tar.gz", "has_sig": false, "md5_digest": "66ce6a91224694d228c35d545b2b6181", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6665, "upload_time": "2019-10-08T06:09:15", "url": "https://files.pythonhosted.org/packages/31/7d/ff04a01ab733d7674902c06870029555d0ffc95ab016f349c11f6567c80b/GiantPandas-0.1.6.tar.gz" } ] }