¿Cómo eliminar una columna específica de un archivo csv mientras lo lees con pandas?

Necesito eliminar una columna con el nombre de la etiqueta al momento de cargar un csv usando pandas . Estoy leyendo csv de la siguiente manera y quiero agregar parámetros dentro de él para hacerlo. Gracias.

pd.read_csv("sample.csv")

Sé que esto para hacer después de leer CSV:

 df.drop('name', axis=1) 

Si conoce los nombres de las columnas antes, puede hacerlo configurando el parámetro usecols

Cuando sabes qué columnas utilizar

Supongamos que tiene un archivo csv con columnas ['id','name','last_name'] y quiere solo ['name','last_name'] . Puedes hacerlo de la siguiente manera:

 import pandas as pd df = pd.read_csv("sample.csv", usecols = ['name','last_name']) 

cuando quieras primeras N columnas

Si no conoce los nombres de las columnas pero desea primeras N columnas de dataframe. Puedes hacerlo por

 import pandas as pd df = pd.read_csv("sample.csv", usecols = [i for i in range(n)]) 

Editar

Cuando se sabe el nombre de la columna que se va a quitar.

 # Read column names from file cols = list(pd.read_csv("sample_data.csv", nrows =1)) print(cols) # Use list comprehension to remove the unwanted column in **usecol** df= pd.read_csv("sample_data.csv", usecols =[i for i in cols if i != 'name']) 

Paso 1: Obtenga los encabezados de columna de su CSV usando el módulo csv

Paso 2: Use usecols para leer todo menos las columnas que desee omitir.

 import csv with open("sample.csv", 'r') as f: header = next(csv.reader(f)) # For python 2, use # header = csv.reader(f).next() df = pd.read_csv('sample.csv', usecols=list(set(header) - {'name'}))