*** Apologies for the repost. Since Gmane made the list a read-only group, I finally broke down and reinstated Giganews comp.lang.python. Unfortunately I'd missed that this came back with X-NoArchive active and Google doesn't even let such messages show up for a day -- so the OP hasn't seen any of my responses.
As a courtesy, I will NOT be reposting the other four responses I've made over the last few days. {If I do, it will be as a single consolidated response} *** On Mon, 10 Jan 2022 22:31:00 -0800 (PST), NArshad <narshad....@gmail.com> declaimed the following: >-“How are the relevant cells identified in the spreadsheet?” >The column headings are: >BOOK_NAME >BOOK_AUTHOR >BOOK_ISBN >TOTAL_COPIES >COPIES_LEFT >BORROWER’S_NAME >ISSUE_DATE >RETURN_DATE > So... Besides "BORROWER'S_NAME" you also have a pair of dates you have to track in parallel, and which should also need to be updated whenever you change the borrower field. Furthermore, if you plan to separate those with commas, you'll need to escape any embedded commas or you'll find that names like "John Doe, Jr" will mess up the correspondence as you'd treat that as two names on reading the borrower field. Also you need to be aware of the limits for Excel text cells -- while you could stuff 32kB of text into a cell, Excel itself will only display the first 1024 characters. That might be sufficient if the average name is around 31 characters (32 with your comma separator) as it would allow 32 names to be entered and still display in Excel itself. Oh, and to track multiple dates in a cell, you'll have to convert from date to text when writing the cell, and from text back to date when reading the cell -- since you can't comma separate multiple dates. Total_Copies - Copies_Left should be equal to the number of names (and dates). In short, this is a very messy structure to be maintaining. If not using an RDBM, at the very least borrower/issue date/return date should be moved to a separate sheet which also has "Book ID" (the row number in the first sheet with the book). That way you'd have one record per borrower, and can easily add new records at the bottom of the sheet (might need to use a "Book ID" of "0" to indicate a deleted record (when a borrower returns the book) so you can reuse the slot, since you'd need some way to identify the end of the data -- most likely by a blank record.. >-“If that's what you have in your spreadsheet, then read the cells on the >first row for the column labels and put them in a dict to map from column >label to column number.” > >This written above I do not understand how to code. Have you gone through the Python Tutorial? Dictionaries are one of Python's basic data structures. https://docs.python.org/3/tutorial/ You are unlikely to find anything near to your application on-line -- pretty much anyone doing something like a library check-out system will be using a relational database rather than spread sheets. At worst, they may have a spread sheet import operation to do initial population of the database, though even that might be using SQL operations (Windows supports Excel files as an ODBC data source). See: https://docs.microsoft.com/en-us/cpp/data/odbc/data-source-managing-connections-odbc?view=msvc-170 They are unlikely to be dong any exports to Excel -- that's the realm of report logic. According to https://support.sas.com/documentation/onlinedoc/dfdmstudio/2.5/dmpdmsug/Content/dfDMStd_T_Excel_ODBC.html """ Note: You cannot use a DSN to write output to Excel format. You can, however, use a Text File Output node in a data job to write output in CSV format. You can then import the CSV file into Excel. """ A Java-biased (old Java -- the interface to ODBC has been removed from current Java) example that doesn't seem to need "named ranges" is https://querysurge.zendesk.com/hc/en-us/articles/205766136-Writing-SQL-Queries-against-Excel-files-using-ODBC-connection-Deprecated-Excel-SQL- Or... https://www.red-gate.com/simple-talk/databases/sql-server/database-administration-sql-server/getting-data-between-excel-and-sql-server-using-odbc/ (which also indicates that it is possible to update the file via ODBC... But note the constraints regarding having 64-bit vs 32-bit drivers). Obviously you'll need to translate the PowerShell syntax into Python's ODBC DB-API interface (which is a bit archaic as I recall -- does not match current DP-API specifications). -- Wulfraed Dennis Lee Bieber AF6VN wlfr...@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/ -- Wulfraed Dennis Lee Bieber AF6VN wlfr...@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/ -- https://mail.python.org/mailman/listinfo/python-list