Python Code - How To Read CSV with Headers into an Array of Dictionary

October 05, 2021

Introduction

Lets assume we have a csv something similar to following:

firstname,lastname,address,city,state,pin
John,Doe,120 jefferson st.,Riverside, NJ, 08075
Jack,McGinnis,220 hobo Av.,Phila, PA,09119
"John ""Da Man""",Repici,120 Jefferson St.,Riverside, NJ,08075
Stephen,Tyler,"7452 Terrace ""At the Plaza"" road",SomeTown,SD, 91234
,Blankman,,SomeTown, SD, 00298
"Joan ""the bone"", Anne",Jet,"9th, at Terrace plc",Desert City,CO,00123

Python code to read CSV into Array of Dictionary

def read(filepath):
  content = []
  with open(filepath) as csvfile:
    csv_reader = csv.reader(csvfile)
    headers = next(csv_reader)

    for row in csv_reader:
      row_data = {key: value for key, value in zip(headers, row)}
      content.append(row_data)

  return content

content = read("addresses.csv")
print(content)

The Output as Array of Dictionary

[{
  'firstname': 'John',
  'lastname': 'Doe',
  'address': '120 jefferson st.',
  'city': 'Riverside',
  'state': ' NJ',
  'pin': ' 08075'
}, {
  'firstname': 'Jack',
  'lastname': 'McGinnis',
  'address': '220 hobo Av.',
  'city': 'Phila',
  'state': ' PA',
  'pin': '09119'
}, {
  'firstname': 'John "Da Man"',
  'lastname': 'Repici',
  'address': '120 Jefferson St.',
  'city': 'Riverside',
  'state': ' NJ',
  'pin': '08075'
}, {
  'firstname': 'Stephen',
  'lastname': 'Tyler',
  'address': '7452 Terrace "At the Plaza" road',
  'city': 'SomeTown',
  'state': 'SD',
  'pin': ' 91234'
}, {
  'firstname': '',
  'lastname': 'Blankman',
  'address': '',
  'city': 'SomeTown',
  'state': ' SD',
  'pin': ' 00298'
}, {
  'firstname': 'Joan "the bone", Anne',
  'lastname': 'Jet',
  'address': '9th, at Terrace plc',
  'city': 'Desert City',
  'state': 'CO',
  'pin': '00123'
}]

Next

See how we can read CSV into an Array of arrays


Similar Posts

Latest Posts