简体   繁体   English

从CSV文件的开头删除行

[英]removing lines from the start of a csv file, python

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. 在python中,我想将标题行和前20行读入字典列表,并在每个字典中使用:作为key:value对。 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 谢谢

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 http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM