{"id":48592068,"url":"https://github.com/asllop/csv-olap","last_synced_at":"2026-04-08T20:02:33.443Z","repository":{"id":54517985,"uuid":"338370653","full_name":"asllop/CSV-OLAP","owner":"asllop","description":"OLAP tool for CSV files using SQL and PANDAS syntax.","archived":false,"fork":false,"pushed_at":"2021-06-28T09:21:26.000Z","size":257,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-08-06T19:54:50.777Z","etag":null,"topics":["csv","olap","pandas","pandasql","pandastable","python","sql","tkinter","tkintertable"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asllop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-12T16:23:19.000Z","updated_at":"2023-08-06T19:54:50.778Z","dependencies_parsed_at":"2022-08-13T18:30:34.389Z","dependency_job_id":null,"html_url":"https://github.com/asllop/CSV-OLAP","commit_stats":null,"previous_names":[],"tags_count":6,"template":null,"template_full_name":null,"purl":"pkg:github/asllop/CSV-OLAP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asllop%2FCSV-OLAP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asllop%2FCSV-OLAP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asllop%2FCSV-OLAP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asllop%2FCSV-OLAP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asllop","download_url":"https://codeload.github.com/asllop/CSV-OLAP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asllop%2FCSV-OLAP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31571601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","olap","pandas","pandasql","pandastable","python","sql","tkinter","tkintertable"],"created_at":"2026-04-08T20:02:33.118Z","updated_at":"2026-04-08T20:02:33.410Z","avatar_url":"https://github.com/asllop.png","language":"Python","readme":"# CSV-OLAP\nOLAP tool for CSV files.\n\n## Introduction\n\nHave you ever had a CSV file, opened with your favourite spreadsheet application, and you desired being able to work with it like in a database? Well, I did, and usually ended up by loading the file with RStudio or Jupyter+Python. But I always wanted an easier way to work with it. That's the reason I created this super simple python script.\n\n![CSV-OLAP Screenshot](csvolap_shot_1.png)\n\n## Installation\n\nPrerequisites: Python 3, pip and venv.\n\n```bash\npython3.x -m venv env # where \"3.x\" is a specific version in your system\nsource env/bin/activate\npip install -r requirements.txt\n```\n\n## Usage\n\nTo run CSV-OLAP just write:\n\n```bash\npython csvolap.py path/to/file.csv\n```\n\nYou can also specify the query language you want to use, SQL or PANDAS:\n\n```bash\npython csvolap.py path/to/file.csv -l pandas\n```\n\n\u003e NOTE: If you get this error on mac:\n\u003e `ModuleNotFoundError: No module named '_tkinter'`,\n\u003e You may need to install python-tk:\n\u003e `brew install python-tk`\n\nDefault is SQL.\n\n## Queries\n\nTo run a query, write in the text field at the top of the window and press enter.\n\nFor the SQL language, the syntax is the same of SQLite. The table name is \"model\". For example, if your CSV has a field named \"Age\" and you want to select only the rows where age is greater or equal than 35:\n\n```sql\nSELECT * FROM model WHERE \"Age\" \u003e= 35\n```\n\nThe other query language is PANDAS. It has the same syntax used in Python when working with pandas data frames. The DataFrame name is \"model\", and the pandas object is \"pd\". Following the previous example, in pandas we would do:\n\n```python\nmodel[model[\"Age\"] \u003e= 35]\n```\n\n## CSV Parsing\n\nTo parse the CSV files it uses Pandas `read_csv` method, with the default arguments. It also post process the DataFrame, cleaning the strings by removing the quotes and all leading and trailing whitespaces. This may be not adequate for all CSV formats. If your CSV doesn't load well, you will have to pre process it or change the parsing mechanism in the script.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasllop%2Fcsv-olap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasllop%2Fcsv-olap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasllop%2Fcsv-olap/lists"}