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

时间:2013-12-30 18:24:26

标签: 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)

并保存文件......

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

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

6 个答案:

答案 0 :(得分:452)

使用index=False

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

答案 1 :(得分:70)

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

  1. 正如其他人所说,您可以在保存期间使用 index = False dataframe到csv文件。

      

    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)

答案 2 :(得分:14)

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

但是,由于您通常将使用的数据本身具有某种索引,因此我们假设保留了“ timestamp”列,并使用该索引加载数据。

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

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

之后,您可以读取带有索引的数据:

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

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

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

答案 3 :(得分:13)

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

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

答案 4 :(得分:3)

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

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

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

答案 5 :(得分:1)

如果您不希望索引,请使用以下命令读取文件:

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

使用

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