es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error en el formato de lectura de archivo csv, verificación del encabezado en el cuaderno de Jupyter.

Tengo un pequeño problema que creo que está relacionado con la configuración de mi computadora.
Cada vez que leo_csv no importa el conjunto de datos, los encabezados salen en este formato específico.

Index(['BotId;UserId;StorageDate;StorageDateBR;StorageDateDayBR;Date;Time;Hour;Category;Action;MessageId;Extras;Steps;LastState;CampaignSource;ChosenProduct;TypeofProduct;PostalCode;CPF;City;Original_UserId;Original_BotId'], dtype='object').

Aunque en el propio conjunto de datos están perfectamente divididos, creo que el problema está relacionado con la forma en que se guardan los archivos csv en mi computadora.
Si conocen alguna forma de solucionarlo rápidamente sin interactuar a través de todos los encabezados y colocar sus cabezas en sus columnas según su orden correspondiente, lo agradecería. Y la razón detrás de esto, agradecería la solución rápida.

df = pd.read_csv('Exemplo_processamento.csv',on_bad_lines='skip')
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que tu archivo CSV está utilizando un delimitador diferente (punto y coma “;”) en lugar del habitual coma (“,”). Una posible solución es especificar el parámetro del delimitador en tu función read_csv de esta manera:

    df = pd.read_csv('Exemplo_processamento.csv', delimiter=';')
    

    Esto le indicará a pandas que utilice el punto y coma como separador entre las columnas en tu archivo CSV. Además, el parámetro on_bad_lines que estás utilizando omite cualquier línea que tenga datos mal formados, lo cual puede que no sea necesario si resuelves el problema del delimitador.

    Si quieres evitar tener que corregir manualmente los encabezados cada vez que leas un archivo CSV, también puedes especificar un parámetro de encabezado para indicar en qué fila del archivo se encuentran los nombres de las columnas:

    df = pd.read_csv('Exemplo_processamento.csv', delimiter=';', header=0)
    

    Esto asume que la primera fila de tu archivo CSV contiene los nombres de las columnas en el orden correcto. Si este no es el caso, también puedes especificar una lista de nombres de columna para el parámetro de encabezado:

    df = pd.read_csv('Exemplo_processamento.csv', delimiter=';', header=None, names=['BotId', 'UserId', 'StorageDate', 'StorageDateBR', ...])
    

    Esto asignará los nombres proporcionados a las columnas en orden, independientemente del orden en la fila de encabezado original.

Comments are closed.