Reading and writing csv files

csv.reader()

[4]:
import csv
[5]:
with open('testfiles/hrdata.csv', 'r') as f:
    csv_reader = csv.reader(f, delimiter=',')
    for row in csv_reader:
        print(row)

['Name', 'Hire Date', 'Salary', 'Sick Days remaining']
['Graham Chapman', '03/15/14', '50000.00', '10']
['John Cleese', '06/01/15', '65000.00', '8']
['Eric Idle', '05/12/14', '45000.00', '10']
['Terry Jones', '11/01/13', '70000.00', '3']
['Terry Gilliam', '08/12/14', '48000.00', '7']
['Michael Palin', '05/23/13', '66000.00', '8']

csv.DictReader()

[7]:
with open('testfiles/hrdata.csv', 'r') as f:
    csv_reader = csv.DictReader(f)

    for row in csv_reader:
        print(row['Name'], row['Hire Date'], row['Salary'], row['Sick Days remaining'] )
Graham Chapman 03/15/14 50000.00 10
John Cleese 06/01/15 65000.00 8
Eric Idle 05/12/14 45000.00 10
Terry Jones 11/01/13 70000.00 3
Terry Gilliam 08/12/14 48000.00 7
Michael Palin 05/23/13 66000.00 8

csv.writer()

[8]:
with open('testfiles/employee_file.csv', 'w') as f:
    employee_writer = csv.writer(f, delimiter=',')

    employee_writer.writerow(['John Smith', 'Accounting', 'November'])
    employee_writer.writerow(['Erica Meyers', 'IT', 'March'])

[9]:
with open('testfiles/employee_file.csv', 'r') as f:
    csv_reader = csv.reader(f, delimiter=',')
    for row in csv_reader:
        print(row)

['John Smith', 'Accounting', 'November']
['Erica Meyers', 'IT', 'March']

csv.DictWriter()

[10]:
with open('testfiles/employee_file2.csv', 'w') as f:
    fieldnames = ['emp_name', 'dept', 'birth_month']
    writer = csv.DictWriter(f, fieldnames=fieldnames)

    writer.writeheader() # the fieldnames
    writer.writerow({'emp_name': 'John Smith', 'dept': 'Accounting', 'birth_month': 'November'})
    writer.writerow({'emp_name': 'Erica Meyers', 'dept': 'IT', 'birth_month': 'March'})
[11]:
with open('testfiles/employee_file2.csv', 'r') as f:
    csv_reader = csv.reader(f, delimiter=',')
    for row in csv_reader:
        print(row)
['emp_name', 'dept', 'birth_month']
['John Smith', 'Accounting', 'November']
['Erica Meyers', 'IT', 'March']