2015-06-22 13 views
11

Chciałbym użyć pd.write_csv, aby napisać "filename" (z nagłówkami), jeśli "filename" nie istnieje, w przeciwnym razie należy dodać do "filename", jeśli istnieje. Gdybym po prostu użyć polecenia:Panda's Write CSV - Append vs. Write

 df.to_csv('filename.csv',mode = 'a',header ='column_names') 

Wpisanie lub dołączyć się powiedzie, ale wydaje się, że nagłówek jest napisany za każdym razem Dołącz odbywa.

Jak mogę dodać nagłówek tylko, jeśli plik nie istnieje i dołączyć bez nagłówka, jeśli plik istnieje?

+0

Można zawsze sprawdzić, czy pliki istnieje pierwsze, 'jeśli os.path.isfile ... ' –

+0

Tnx, ale jak zaimplementować? Otrzymuję komunikat o błędzie "nazwa os nie jest znaleziona", gdy używam w następujący sposób: jeśli os.path.isfile ("filename.csv"): – GPB

+0

zobacz odpowiedź poniżej –

Odpowiedz

21

Nie wiesz, istnieje sposób, w pand ale sprawdzenie czy plik istnieje byłoby proste podejście:

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) 
+2

Tak, to działa .... wiele dzięki ! – GPB

+0

Przyjemny łatwy i logiczny sposób tworzenia csv w pętli for – BigChief

Powiązane problemy