web-dev-qa-db-fra.com

pandas to_csv première colonne supplémentaire supprimée, comment faire?)

J'essaie de créer un CSV avec pandas, mais lorsque j'exporte au format CSV, cela m'a donné une ligne supplémentaire.

d = {'one' : pd.Series([1., 2., 3.]),'two' : pd.Series([1., 2., 3., 4.])}
df0_fa = pd.DataFrame(d)
df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w')

donc mon résultat serait:

,one,two
0,1.0,1.0
1,2.0,2.0
2,3.0,3.0
3,,4.0

Mais ce que je veux c'est

one,two
1.0,1.0
2.0,2.0
3.0,3.0
,4.0
48
JPC

Ce que vous voyez est la colonne d'index. Il suffit de définir index=False:

df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w', index=False)
86
JD Long

Pour lire le fichier csv sans indexation, vous pouvez désactiver l’index_col pour empêcher pandas d’utiliser votre première colonne en tant qu’index. Et lors de la sauvegarde du csv sur le disque, n’oubliez pas de set index = false dans to_csv. Cela ne générera pas de colonne d'index supplémentaire. Sinon, si vous devez supprimer/supprimer une colonne spécifique du cadre de données, utilisez drop, cela a fonctionné pour moi comme suit:

import pandas as pd
file_path = 'example_file.csv'
data_frame = pd.read_csv(file_path, index_col = False)
column_name = 'column'
data_frame = data_frame.drop(column_name, axis = 1) 
data_frame.to_csv(file_path, index = False)

Dans ce cas, même si votre csv a une colonne d’index valide, vous pouvez ignorer index_col = False dans read_csv.

9
Revati Joshi