Cómo evitar que los pandas creen un índice en un csv guardado

3 minutos de lectura

Avatar de usuario de Alexis
alexis

Estoy tratando de guardar un csv en una carpeta después de realizar algunas modificaciones en el archivo.

Cada vez que uso pd.to_csv('C:/Path of file.csv') el archivo csv tiene una columna separada de índices. Quiero evitar imprimir el índice en csv.

Lo intenté:

pd.read_csv('C:/Path to file to edit.csv', index_col = False)

Y para guardar el archivo…

pd.to_csv('C:/Path to save edited file.csv', index_col = False)

Sin embargo, todavía tengo la columna de índice no deseada. ¿Cómo puedo evitar esto cuando guardo mis archivos?

  • ¿Podemos usar esto en MS Excel también?

    – Nabih Ibrahim Bawazir

    3 oct 2017 a las 9:39

  • sí tu puedes pd.to_excel(r'file.xlsx', index = False)

    – bfree67

    5 de agosto de 2019 a las 6:48


  • index_col trabaja para read_html() también.

    – caramelo

    18 de marzo de 2020 a las 17:44

Probablemente el avatar de usuario de rgbkrk
Probablemente rgbkrk

Usar index=False.

df.to_csv('your.csv', index=False)

avatar de usuario de blitu12345
blitu12345

Hay dos formas de manejar la situación en la que no queremos que el índice se almacene en un archivo csv.

  1. Como otros han dicho, puedes usar índice=falso mientras guardas tu
    marco de datos al archivo csv.

    df.to_csv('file_name.csv',index=False)

  2. O puede guardar su marco de datos tal como está con un índice, y mientras lee, simplemente suelte la columna sin nombre 0 que contiene su índice anterior. ¡Simple!

    df.to_csv(' file_name.csv ')
    df_new = pd.read_csv('file_name.csv').drop(['unnamed 0'],axis=1)

  • “y mientras lee, simplemente suelte la columna sin nombre 0 que contiene su índice anterior” una mejor manera de hacerlo es especificar pd.read_csv(..., index_col=[0]y evite la llamada de “caída” adicional.

    – cs95

    28 de mayo de 2019 a las 4:19

avatar de usuario de amalik2205
amalik2205

Si no desea ningún índice, lea el archivo usando:

import pandas as pd
df = pd.read_csv('file.csv', index_col=0)

guardarlo usando

df.to_csv('file.csv', index=False)

  • No puedo creer que nadie haya notado el error. Para guardar en csv, sería df.to_csv('file.csv', index=False)

    – Edwin

    13 de noviembre de 2019 a las 10:37


Como han dicho otros, si no desea guardar la columna de índice en primer lugar, puede usar df.to_csv('processed.csv', index=False)

Sin embargo, dado que los datos que generalmente usará tienen algún tipo de índice, digamos una columna de ‘marca de tiempo’, mantendría el índice y cargaría los datos usándolo.

Entonces, para guardar los datos indexados, primero configure su índice y luego guarde el DataFrame:

df.set_index('timestamp')
df.to_csv('processed.csv')

Luego, puede leer los datos con el índice:

pd.read_csv('processed.csv', index_col="timestamp")

o leer los datos, y luego establecer el índice:

pd.read_csv('filename.csv')
pd.set_index('column_name')

Avatar de usuario de Khaled Fouda
Khaled Fouda

Otra solución si desea mantener esta columna como índice.

pd.read_csv('filename.csv', index_col="Unnamed: 0")

  • Exactamente lo que estaba buscando, gracias. Eso de alguna manera ayuda a traducir el concepto de clave principal de forma transparente, incluso cuando se usa csv

    – Tobbey

    21 de agosto de 2018 a las 13:19


  • ¡¡¡Muy buena idea!!! ¡Lo probé, y es una solución muy elegante!

    – Dave

    14 de noviembre de 2020 a las 17:03

Si desea un buen formato, la siguiente declaración es la mejor:

dataframe_prediction.to_csv('filename.csv', sep=',', encoding='utf-8', index=False)

En este caso, tiene un archivo csv con ‘,’ separado entre columnas y formato utf-8. Además, el índice numérico no aparecerá.

  • Exactamente lo que estaba buscando, gracias. Eso de alguna manera ayuda a traducir el concepto de clave principal de forma transparente, incluso cuando se usa csv

    – Tobbey

    21 de agosto de 2018 a las 13:19


  • ¡¡¡Muy buena idea!!! ¡Lo probé, y es una solución muy elegante!

    – Dave

    14 de noviembre de 2020 a las 17:03

¿Ha sido útil esta solución?