Reputation: 590
Say I have the following file:
student.id, student.name, student.is_male, student.birth_date, student.courseid, student.gradeid 90, 'Jeff', False, datetime.date(2014, 8, 5), 1, 5 91, 'Allan', True, datetime.date(2014, 8, 5), 1, 1 92, 'Maria', False, datetime.date(2014, 8, 5), 2, 8 93, 'Lucie', False, datetime.date(2014, 8, 5), 5, 7 94, 'John', True, datetime.date(2014, 8, 5), 3, 1 95, 'Pat', False, datetime.date(2014, 8, 5), 4, 2 96, 'Jeff', False, datetime.date(2014, 8, 5), 1, 7 97, 'Allan', True, datetime.date(2014, 8, 5), 4, 6 98, 'Maria', False, datetime.date(2014, 8, 5), 4, 7 99, 'Lucie', False, datetime.date(2014, 8, 5), 5, 1 100, 'John', True, datetime.date(2014, 8, 5), 3, 2 101, 'Pat', False, datetime.date(2014, 8, 5), 3, 5 102, 'Jeff', False, datetime.date(2014, 8, 5), 1, 7 103, 'Allan', True, datetime.date(2014, 8, 5), 4, 5 104, 'Maria', False, datetime.date(2014, 8, 5), 2, 8 105, 'Lucie', False, datetime.date(2014, 8, 5), 5, 9 106, 'John', True, datetime.date(2014, 8, 5), 3, 7 107, 'Pat', False, datetime.date(2014, 8, 5), 2, 8 108, 'Jeff', False, datetime.date(2014, 8, 5), 1, 3 109, 'Allan', True, datetime.date(2014, 8, 5), 1, 9 110, 'Maria', False, datetime.date(2014, 8, 5), 3, 4 111, 'Lucie', False, datetime.date(2014, 8, 5), 1, 4 112, 'John', True, datetime.date(2014, 8, 5), 1, 1 113, 'Pat', False, datetime.date(2014, 8, 5), 3, 8 114, 'Jeff', False, datetime.date(2014, 8, 5), 4, 2 115, 'Allan', True, datetime.date(2014, 8, 5), 2, 5 116, 'Maria', False, datetime.date(2014, 8, 5), 5, 5 117, 'Lucie', False, datetime.date(2014, 8, 5), 3, 8 118, 'John', True, datetime.date(2014, 8, 5), 1, 9 119, 'Pat', False, datetime.date(2014, 8, 5), 5, 8 120, 'Jeff', False, datetime.date(2014, 8, 5), 1, 1 121, 'Allan', True, datetime.date(2014, 8, 5), 4, 3 122, 'Maria', False, datetime.date(2014, 8, 5), 5, 3 123, 'Lucie', False, datetime.date(2014, 8, 5), 1, 5 124, 'John', True, datetime.date(2014, 8, 5), 5, 5 125, 'Pat', False, datetime.date(2014, 8, 5), 5, 1 126, 'Jeff', False, datetime.date(2014, 8, 5), 5, 9 127, 'Allan', True, datetime.date(2014, 8, 5), 5, 6 128, 'Maria', False, datetime.date(2014, 8, 5), 2, 5 129, 'Lucie', False, datetime.date(2014, 8, 5), 1, 2 130, 'John', True, datetime.date(2014, 8, 5), 3, 8
In python, I want to read the header line and first 20 lines into a list of dictionaries, with : as the key:value pairs in each dictionary. I want then to update the file contents, to retain the header and following lines while dropping the processed lines.
how do I do this?
Thank you
Upvotes: 0
Views: 32
Reputation: 954
This is a perfect job for a Pandas data frame. It will make your life much easier for whatever you are trying to do here.
import pandas as pd
df=pd.read_csv('your.csv')
There are then many convenient (and fast) ways to manipulate the data and access specific rows and indices.
check out the docs here:
http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.html
Upvotes: 1