简体   繁体   中英

How to delete rows (NOT columns) in a csv file

I am trying to delete a particular row (NOT a column) in a csv file for a class project. When I deleted columns I put:

r=row 
r[22], r[21]
# and so on

So how do I specify that I want to delete rows? I am working with census data and want to get rid of that extra row of headers that are always in census tables. Thank you for any help.

Convert your csv reader to a list and slice the appropriate indexes off:

import csv

with open('file.csv', 'rb') as f:
    reader = csv.reader(f)
    rows = list(reader)[1:]  # no more header row

Use pandas, it's so easy to handle data and files with it. Use it to edit your data easily.

You can open your csv file and convert it to a pandas dataframe through.

df = pandas.read_csv('file.csv')

After that you can use this function.

df.drop(df.columns[[0]], axis=1)

In this example I'm deleting the row with index 0.

Pandas documentation

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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