Python Forum
Project, Reading Data from a spreadsheet. Error message!!
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Project, Reading Data from a spreadsheet. Error message!!
#1
i have written the following code from an exercise in a text book;

import openpyxl, pprint
print('Opening workbook...')
wb = openpyxl.load_workbook('censuspopdata.xlsx')
sheet=wb.get_sheet_by_name('Population by Census Tract')
countyData={}

print ('Reading Rows')
for row in range(2, sheet.max_row + 1):
    state = sheet['B' + str(row)].value
    county = sheet['C' + str(row)].value
    pop = sheet['D' + str(row)].value

for row in  range(2,sheet.max_row+1):
    state = sheet['B' + str(row)].value
    county = sheet['C' + str(row)].value
    pop = sheet['D' + str(row)].value

    countyData.setdefault(state, {})

    countyData[state].setdefault(county, {'tracts':0,'pop':0})

    countyData[state][county]['tracts']+=1

    countyData[state][county]['pop']+=int(pop)

for row in range(2,  sheet.max_row+1):
    print('writing results...')

    resultFile=open('census2010.py', 'w')

    resultFile.write('allData =' + pprint.pformt(countyData))

    resultFile.close()

    print ('Done')

once i run the code i get the following error messages;
Error:
Opening workbook... Warning (from warnings module): File "/Users/shaneshomefolder/Desktop/readCenExel.py", line 4 sheet=wb.get_sheet_by_name('Population by Census Tract') DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]). Reading Rows writing results... Traceback (most recent call last): File "/Users/shaneshomefolder/Desktop/readCenExel.py", line 31, in <module> resultFile.write('allData =' + pprint.pformt(countyData)) AttributeError: module 'pprint' has no attribute 'pformt' >>>
i have not come across Deprecation Warning before. and i do not understand the second error. could anybody tell me how to correct my code?

ive realised my spelling mistake in pformt.. when ive corrected it and i still get the first error message
Warning (from warnings module):
  File "/Users/shaneshomefolder/Desktop/readCenExel.py", line 4
    sheet=wb.get_sheet_by_name('Population by Census Tract')
DeprecationWarning: Call to deprecated function get_sheet_by_name (Use wb[sheetname]).

and then a constant loop of
writing results...
Done
writing results...
Done
writing results...
Done
writing results...
Done
writing results...
Done
writing results...
Done
writing results...
Done
writing results...
Reply
#2
Depreciation warning is clear
instead of sheet=wb.get_sheet_by_name('Population by Census Tract') use sheet=wb['Population by Census Tract']

Looking at the file name it's a census data, so I guess great number of rows/records. You print writing results... and Done after writing each row, so I would expect some long output.
Note that it doesn't make to open and close the file for every row. Also it's better to use with context manager when open the file and thus no need to close it.

Once again - I would advise you to find more up to date/better book to follow
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Is it possible to extract 1 or 2 bits of data from MS project files? cubangt 8 945 Feb-16-2024, 12:02 AM
Last Post: deanhystad
  Returning Column and Row Data From Spreadsheet knight2000 0 413 Oct-22-2023, 07:07 AM
Last Post: knight2000
  Editing spreadsheet/csv BSDevo 6 969 Sep-01-2023, 05:47 PM
Last Post: BSDevo
  Error message about iid from RandomizedSearchCV Visiting 2 933 Aug-17-2023, 07:53 PM
Last Post: Visiting
  xlwings error when reading a workbook Mishal0488 1 1,037 Aug-01-2023, 02:05 AM
Last Post: deanhystad
  Another Error message. the_jl_zone 2 943 Mar-06-2023, 10:23 PM
Last Post: the_jl_zone
  Looking to automate updating a spreadsheet with image from email cubangt 2 943 Feb-14-2023, 03:43 PM
Last Post: cubangt
  Import XML file directly into Excel spreadsheet demdej 0 801 Jan-24-2023, 02:48 PM
Last Post: demdej
  Reading All The RAW Data Inside a PDF NBAComputerMan 4 1,276 Nov-30-2022, 10:54 PM
Last Post: Larz60+
  updating Google spreadsheet with gspread mgallotti 0 1,049 Sep-30-2022, 11:26 PM
Last Post: mgallotti

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020