the ' string-style addresses are convenient if you're typing addresses into your source code but the (columnrowtuple-style addresses are convenient if you're looping over range of addresses and need numeric form for the column the convertaddress()getcolumnletterof()and getcolumnnumberof(functions are helpful when you need to convert between the two formats reading and writing entire columns and rows as mentionedwriting data one cell at time can often take too long fortunatelyezsheets has sheet methods for reading and writing entire columns and rows at the same time the getcolumn()getrow()updatecolumn()and updaterow(methods willrespectivelyread and write columns and rows these methods make requests to the google sheets servers to update the spreadsheetso they require that you be connected to the internet in this section' examplewe'll upload producesales xlsx from the last to google sheets the first eight rows look like table - table - the first eight rows of the producesales xlsx spreadsheet produce cost per pound pounds sold total potatoes okra fava beans watermelon garlic parsnips asparagus to upload this spreadsheetenter the following into the interactive shellimport ezsheets ss ezsheets upload('producesales xlsx'sheet ss[ sheet getrow( the first row is row not row ['produce''cost per pound''pounds sold''total'''''sheet getrow( ['potatoes'' '' '' '''''columnone sheet getcolumn( sheet getcolumn( ['produce''potatoes''okra''fava beans''watermelon''garlic'--snipsheet getcolumn(' 'same result as getcolumn( ['produce''potatoes''okra''fava beans''watermelon''garlic'--snipsheet getrow( working with google sheets