Cada vez que leo un archivo csv usando pd.read_csv('file_name.csv') que no tiene nombres de columna, el primer valor se convierte al nombre de la columna. Qué se puede hacer (si se puede hacer) para rectificar la situación usando Python solamente. No sugiera abrir el archivo manualmente y luego coloque los nombres de columna en él.

-1
Deshwal 9 oct. 2019 a las 16:22

3 respuestas

La mejor respuesta

Puede usar la palabra clave arg header.

pd.read_csv('file_name.csv', header=None)

De esta manera, los nombres de las columnas serán números que comienzan desde 0. También puede pasar sus propios nombres de columna con, p.

pd.read_csv('file_name.csv', header=None, names=['col1','col2'])
1
Alessandro 9 oct. 2019 a las 13:32

¿Has intentado

pd.read_csv(file_name, header=None)

O

pd.read_csv(file_name, names=['col1', 'col2'])

1
Anthony R 9 oct. 2019 a las 14:23

Debe agregar el parámetro header y pasar None:

df = pd.read_csv('PATH',header=None)

De los pandas read_csv:

encabezado: int, lista de int, por defecto ‘inferir 'Número (s) de fila para usar como los nombres de columna, y el inicio de los datos. El comportamiento predeterminado es inferir los nombres de columna: si no se pasan nombres, el comportamiento es idéntico al encabezado = 0 y los nombres de columna se deducen de la primera línea del archivo, si los nombres de columna se pasan explícitamente, el comportamiento es idéntico al encabezado = Ninguno . Pase explícitamente header = 0 para poder reemplazar los nombres existentes. El encabezado puede ser una lista de enteros que especifican ubicaciones de fila para un índice múltiple en las columnas, p. [0,1,3]. Se omitirán las filas intermedias que no se especifiquen (por ejemplo, se omiten 2 en este ejemplo). Tenga en cuenta que este parámetro ignora las líneas comentadas y las líneas vacías si skip_blank_lines = True, por lo que header = 0 denota la primera línea de datos en lugar de la primera línea del archivo.

1
Celius Stingher 9 oct. 2019 a las 13:41
58305181