i have written the following code from an exercise in a text book;
once i run the code i get the following error messages;
ive realised my spelling mistake in pformt.. when ive corrected it and i still get the first error message
and then a constant loop of
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...