Dec-21-2020, 10:33 AM
CSV files are (normally) comma delimited text files.
they can be read simply
the following script can read csv as dictionary, or plain data:
they can be read simply
the following script can read csv as dictionary, or plain data:
import csv import os def read_csv(filename, has_header=True, dict_out=True): header = [] with open(filename) as fp: if dict_out: cdrdr = csv.DictReader(fp, delimiter=',') else: crdr = csv.reader(fp, delimiter=',') if dict_out: for n, row in enumerate(cdrdr): yield n, row else: for n, row in enumerate(crdr): yield n, row def tryit(): # Guarentee cwd is script directory os.chdir(os.path.abspath(os.path.dirname(__file__))) print(f"\noutput as As dict:\n") for n, row in read_csv('IllinoisZipcodeData.csv'): print(f"Rownum: {n}, end = ''") for key, value in row.items(): print(f" {key}: {value}") print() print(f"\nOutput as plain data:\n") for n, row in read_csv('IllinoisZipcodeData.csv', has_header=True, dict_out=False): print(f"Rownum: {n}, data: {row}") if __name__ == '__main__': tryit()Example with attached file:
Output:output as As dict:
Rownum: 0, end = ''
CountyName: McHenry
CountySeat: Woodstock
FipsCd: 111
LocalCountyId: 63
ZipCode: 60001
Rownum: 1, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60002
Rownum: 2, end = ''
CountyName: Cook
CountySeat: Chicago
FipsCd: 31
LocalCountyId: 16
ZipCode: 60004
Rownum: 3, end = ''
CountyName: Cook
CountySeat: Chicago
FipsCd: 31
LocalCountyId: 16
ZipCode: 60005
Rownum: 4, end = ''
CountyName: Cook
CountySeat: Chicago
FipsCd: 31
LocalCountyId: 16
ZipCode: 60006
Rownum: 5, end = ''
CountyName: Cook
CountySeat: Chicago
FipsCd: 31
LocalCountyId: 16
ZipCode: 60007
Rownum: 6, end = ''
CountyName: Cook
CountySeat: Chicago
FipsCd: 31
LocalCountyId: 16
ZipCode: 60008
Rownum: 7, end = ''
CountyName: Cook
CountySeat: Chicago
FipsCd: 31
LocalCountyId: 16
ZipCode: 60009
Rownum: 8, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 9, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 10, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 11, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 12, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 13, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 14, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 15, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 16, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 17, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 18, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 19, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 20, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 21, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 22, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 23, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 24, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60010
Rownum: 25, end = ''
CountyName: Lake
CountySeat: Waukegan
FipsCd: 97
LocalCountyId: 50
ZipCode: 60011
Output as plain data:
Rownum: 0, data: ['CountyName', 'CountySeat', 'FipsCd', 'LocalCountyId', 'ZipCode']
Rownum: 1, data: ['McHenry', 'Woodstock', '111', '63', '60001']
Rownum: 2, data: ['Lake', 'Waukegan', '97', '50', '60002']
Rownum: 3, data: ['Cook', 'Chicago', '31', '16', '60004']
Rownum: 4, data: ['Cook', 'Chicago', '31', '16', '60005']
Rownum: 5, data: ['Cook', 'Chicago', '31', '16', '60006']
Rownum: 6, data: ['Cook', 'Chicago', '31', '16', '60007']
Rownum: 7, data: ['Cook', 'Chicago', '31', '16', '60008']
Rownum: 8, data: ['Cook', 'Chicago', '31', '16', '60009']
Rownum: 9, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 10, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 11, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 12, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 13, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 14, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 15, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 16, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 17, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 18, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 19, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 20, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 21, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 22, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 23, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 24, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 25, data: ['Lake', 'Waukegan', '97', '50', '60010']
Rownum: 26, data: ['Lake', 'Waukegan', '97', '50', '60011']
Attached Files
IllinoisZipcodeData.csv (Size: 725 bytes / Downloads: 143)