如何避免Python / Pandas在保存的csv中创建索引?

How to avoid Python/Pandas creating an index in a saved csv?

我在对文件进行一些编辑后尝试将csv保存到文件夹中。

每次我使用pd.to_csv('C:/Path of file.csv')时,csv文件都有一个单独的索引列。 我想避免将索引打印到csv。

我试过了:

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

并保存文件...

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

但是,我仍然得到了不需要的索引列。 保存文件时如何避免这种情况?


使用index=False

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

有两种方法可以处理我们不希望索引存储在csv文件中的情况。

  • 正如其他人所说,你可以在保存你的时候使用index = False
    dataframe到csv文件。

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

  • 或者您可以使用索引保存数据帧,并且在阅读时只需删除包含先前index.Simple的未命名列0。

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


  • 正如其他人所说,如果您不想首先保存索引列,则可以使用df.to_csv('processed.csv', index=False)

    但是,由于您通常会使用的数据,自己有某种索引,让我们说一个'timestamp'列,我会保留索引并使用它加载数据。

    因此,要保存索引数据,首先设置其索引,然后保存DataFrame:

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

    之后,您可以使用索引读取数据:

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

    或读取数据,然后设置索引:

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


    如果要将此列保留为索引,则为另一种解决方案。

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


    如果你想要一个好的格式,下一个声明是最好的:

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

    在这种情况下,你有一个带有','的csv文件,在列和utf-8格式之间是分开的。
    另外,数字指数不会出现。


    如果您不想索引,请使用以下方法读取文件:

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

    使用保存

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