{"id":19102071,"url":"https://github.com/davisdevelopment/spread_sql","last_synced_at":"2025-10-14T09:40:08.819Z","repository":{"id":22142953,"uuid":"25474057","full_name":"DavisDevelopment/spread_sql","owner":"DavisDevelopment","description":"Python module to treat Spreadsheets like Database tables","archived":false,"fork":false,"pushed_at":"2014-11-19T22:27:56.000Z","size":168,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-22T09:48:28.100Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DavisDevelopment.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-20T15:56:11.000Z","updated_at":"2014-11-19T22:27:56.000Z","dependencies_parsed_at":"2022-08-20T21:40:12.260Z","dependency_job_id":null,"html_url":"https://github.com/DavisDevelopment/spread_sql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DavisDevelopment/spread_sql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavisDevelopment%2Fspread_sql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavisDevelopment%2Fspread_sql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavisDevelopment%2Fspread_sql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavisDevelopment%2Fspread_sql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DavisDevelopment","download_url":"https://codeload.github.com/DavisDevelopment/spread_sql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavisDevelopment%2Fspread_sql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018618,"owners_count":26086404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-09T03:53:45.243Z","updated_at":"2025-10-14T09:40:08.792Z","avatar_url":"https://github.com/DavisDevelopment.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## spread_sql | A Library for Treating Excel Spreadsheets like Databases ##\n---\n\n`spread_sql` was created because I thought it would be cool if one could use SQL queries on spreadsheets.\nIt's still *very* much in-development, but does show promise as of now.\nRight now, it can only read and write spreadsheets; not parse or execute SQL on them, but that feature _is_ in the works.\n\n---\n## API ##\n---\n\nThe `spread_sql` module currently only exposes one useful class.  \n\n### [`class spead_sql.spreadsheets.Sheet`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L38) ###\n---\n\n#### `function new():Void` ####\n`Sheet`'s constructor. Takes no arguments  \n\n#### [`function column(colname:String):Void`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L51) ####\nCreates a new column.  \n\n`@param colname \u003cString\u003e` - The name of the column to create  \n\n#### [`function row(index:Int):Null\u003cRow\u003e`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L56) ####\nRetrieves the row at the given index, if it exists  \n\n`@param index \u003cInt\u003e` - The index to search for a row at  \n\n#### [`function insert(row:Dynamic, ?index:Null\u003cInt\u003e):Void`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L79) ####\nInserts a new row into the `Sheet`  \n\n`@param row \u003cDynamic\u003e` - A Dictionary object-representation of the row to create  \n`@param index \u003cInt\u003e` - If set, defines a custom index to place the row at  \n\n#### [`function remove_row(index:Int):Void`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L105) ####\nDeletes a row from the sheet  \n\n`@param index \u003cInt\u003e` - The index of the row to delete  \n\n#### [`function map(lambda:Row-\u003eVoid):Void`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L95) ####\nApplies the given function to each row of the `Sheet`.  \nWill replace each row with the return-value of `lambda`.  \nFor instance, to iterate through all rows without changing them, once would type:  \n\n\tfrom spread_sql.spreadsheets import *\n\n\tsheet = getSheetInstanceSomehow()\n\t\n\t#- lambda-function to apply to all rows\n\tdef alterer(row):\n\t\tprint row\n\t\treturn row\n\tsheet.map( alterer )\n\n\n`@param lambda \u003cFunction\u003e` - The function to apply to each row  \n\n#### [`function remove_column(colname:String):Void`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L114) ####\nDeletes the given column from the `Sheet`  \n\n`@param colname \u003cString\u003e` - The name of the column to delete  \n\n#### [`function rename_column(old_col:String, new_colname:String):Void`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L139) ####\nRename a column in the `Sheet`  \n\n`@param old_col \u003cString\u003e` - The name of the column to rename  \n`@param new_col \u003cString\u003e` - What to rename it *to*  \n\n#### [`function save(filename:String):Void`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L149) ####\nSaves the `Sheet` to a file  \n\n`@param filename \u003cString\u003e` - the path to the file to save it to  \n\n#### [`static function loadXLS(filename:String):Sheet`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L242) ####\nLoads an XLS document, and returns a `Sheet` object\n\n`@param filename \u003cString\u003e` - the path to the file to load  \n`@return \u003cSheet\u003e`  \n\n#### [`static function fromJSON(data:Array\u003cDynamic\u003e):Sheet`](https://github.com/DavisDevelopment/spread_sql/blob/master/spread_sql/spreadsheets.py#L220) ####\nCreates a `Sheet` instance from a given array of row-objects\n\n`@param data \u003cArray\u003cDynamic\u003e\u003e` - Array of row-objects  \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavisdevelopment%2Fspread_sql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavisdevelopment%2Fspread_sql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavisdevelopment%2Fspread_sql/lists"}