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

Ale*_*xis 339 python csv indexing pandas

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

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

我试过了:

pd.read_csv('C:/Path to file to edit.csv', index_col = False)
Run Code Online (Sandbox Code Playgroud)

并保存文件...

pd.to_csv('C:/Path to save edited file.csv', index_col = False)
Run Code Online (Sandbox Code Playgroud)

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

小智 524

使用index=False.

df.to_csv('your.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

  • 这是一个令人尴尬的简单解决方案,我为 6 年后才达到这个目标感到羞愧。 (14认同)

bli*_*345 77

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

  1. 正如其他人所说,您可以在将 数据帧保存到csv文件时使用index = False
    .

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

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

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

  • `.drop(['未命名:0'],轴= 1)`为我工作 (5认同)
  • “在阅读时,您只需删除包含以前索引的未命名 0 列”,更好的方法是指定 `pd.read_csv(..., index_col=[0]`,并避免额外的“删除”调用。 (4认同)

Luc*_* P. 20

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

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

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

df.set_index('timestamp')
df.to_csv('processed.csv')
Run Code Online (Sandbox Code Playgroud)

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

pd.read_csv('processed.csv', index_col='timestamp')
Run Code Online (Sandbox Code Playgroud)

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

pd.read_csv('filename.csv')
pd.set_index('column_name')
Run Code Online (Sandbox Code Playgroud)


kha*_*lah 14

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

pd.read_csv('filename.csv', index_col='Unnamed: 0')
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您想要一个好的格式,那么下一条语句是最好的:

dataframe_prediction.to_csv('filename.csv', sep=',', encoding='utf-8', index=False)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您将获得一个带有','的csv文件,该文件在各列和utf-8格式之间是分开的。另外,数字索引不会出现。


ama*_*205 6

如果不需要索引,请使用以下命令读取文件:

import pandas as pd
df = pd.read_csv('file.csv', index_col=0)
Run Code Online (Sandbox Code Playgroud)

使用保存

df.to_csv('file.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

  • 我不敢相信没有人注意到这个错误。要保存到 csv,则为“df.to_csv('file.csv', index=False)” (5认同)