Je voudrais utiliser pd.write_csv pour écrire "nom de fichier" (avec en-têtes) si "nom de fichier" n'existe pas, sinon pour ajouter à "nom de fichier" s'il existe. Si j'utilise simplement la commande:
df.to_csv('filename.csv',mode = 'a',header ='column_names')
L'écriture ou l'ajout réussit, mais il semble que l'en-tête soit écrit chaque fois qu'un ajout a lieu.
Comment puis-je ajouter l'en-tête uniquement si le fichier n'existe pas et l'ajouter sans en-tête si le fichier existe?
Je ne suis pas sûr qu'il existe un moyen de pandas mais vérifier si le fichier existe serait une approche simple:
import os
# if file does not exist write header
if not os.path.isfile('filename.csv'):
df.to_csv('filename.csv', header='column_names')
else: # else it exists so append without writing the header
df.to_csv('filename.csv', mode='a', header=False)
with open(filename, 'a') as f:
df.to_csv(f, mode='a', header=f.tell()==0)
il ajoutera un en-tête lors de la première écriture dans le fichier