保存されたcsvにPython / Pandasがインデックスを作成しないようにするにはどうすればよいですか?


407

ファイルを編集した後、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)

しかし、私はまだ不要なインデックス列を取得しました。ファイルを保存するときにこれを回避するにはどうすればよいですか?


59
index=False代わりに試してくださいindex_col
Jeff

ms excelでもこれを使用できますか?
Nabih Ibrahim Bawazir 2017年

はい、できますpd.to_excel(r'file.xlsx', index = False)
bfree67

index_colread_html()同様に動作します。
CARAM

回答:


605

を使用しindex=Falseます。

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

恥ずかしいほど簡単な解決策、私はこの6年後に到達することを恥ずかしく思います。
ペルッツァ

89

インデックスをcsvファイルに保存したくない状況を処理するには、2つの方法があります。

  1. 他の人が述べたように 、csvファイルにデータフレームを保存するときにindex = Falseを使用でき
    ます。

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

  2. または、インデックスを付けたままデータフレームを保存し、読み取り中に、前のインデックスを含む名前のない0をドロップするだけです。

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


1
「そして、あなたが読んでいる間、あなたの前のインデックスを含む名前のない0の列を単にドロップする」これを行うより良い方法はpd.read_csv(..., index_col=[0]、を指定することであり、余分な「ドロップ」呼び出しを避けます。
cs95

30

インデックスが必要ない場合は、次を使用してファイルを読み取ります。

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

使用して保存

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

2
誰もエラーに気づかなかったなんて信じられない。csvに保存するには、次のようになりますdf.to_csv('file.csv', index=False)
。– MEdwin

1
Lol誰も注意を払っていません。ありがとう。
amalik2205

22

他の人が述べたように、最初にインデックス列を保存したくない場合は、 df.to_csv('processed.csv', index=False)

ただし、通常使用するデータ自体には何らかのインデックスがあり、たとえば「タイムスタンプ」列としましょう。インデックスを保持し、それを使用してデータをロードします。

したがって、インデックス付きデータを保存するには、まずインデックスを設定してから、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')

index_colを設定して保存した場合、csvにまだ名前のない数値列がありました。(Python2)
smiller

14

この列をインデックスとして保持する場合の別の解決策。

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

1
まさに私が探していたもの、ありがとう。これは、csvを使用している場合でも、主キーの概念を透過的に変換するのに役立ちます
Tobbey

7

適切なフォーマットが必要な場合は、次のステートメントが最適です。

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

この場合、列とutf-8形式の間に「、」が付いたcsvファイルがあります。また、数値インデックスは表示されません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.