Chcę wiedzieć, czy można użyć funkcji pandy to_csv()
, aby dodać ramkę danych do istniejącego pliku csv. Plik csv ma taką samą strukturę jak załadowane dane.Jak dodać dane pand do istniejącego pliku csv?
Odpowiedz
Można dołączyć do csv przez opening the file w trybie dopisywania:
with open('my_csv.csv', 'a') as f:
df.to_csv(f, header=False)
Jeśli to był twój CSV, foo.csv
:
,A,B,C
0,1,2,3
1,4,5,6
Jeśli czytasz to i następnie dodać, na przykład , df + 6
:
In [1]: df = pd.read_csv('foo.csv', index_col=0)
In [2]: df
Out[2]:
A B C
0 1 2 3
1 4 5 6
In [3]: df + 6
Out[3]:
A B C
0 7 8 9
1 10 11 12
In [4]: with open('foo.csv', 'a') as f:
(df + 6).to_csv(f, header=False)
foo.csv
staje:
,A,B,C
0,1,2,3
1,4,5,6
0,7,8,9
1,10,11,12
Dziękuję @Andy Hayden – Samatix
może dodać to do książki kucharskiej? – Jeff
@Jeff oop podobno [ten jeden] (http://stackoverflow.com/questions/17134942/pandas-dataframe-output-end-of-csv) jest [już tam jest] (http://pandas.pydata.org/ pandas-docs/dev/cookbook.html # csv) (wiedziałem, że odpowiedziałem na to wcześniej!) Mam zamiar zrobić to w inny sposób ...: s –
Można określić tryb python pisać w pand to_csv
funkcję. Dla dołączenia jest to "a".
W twoim przypadku:
df.to_csv('my_csv.csv', mode='a', header=False)
Domyślny tryb jest 'w'.
Trochę funkcja pomocnika korzystać z jakimś nagłówku sprawdzanie zabezpieczeń to wszystko obsłużyć:
def appendDFToCSV_void(df, csvFilePath, sep=","):
import os
if not os.path.isfile(csvFilePath):
df.to_csv(csvFilePath, mode='a', index=False, sep=sep)
elif len(df.columns) != len(pd.read_csv(csvFilePath, nrows=1, sep=sep).columns):
raise Exception("Columns do not match!! Dataframe has " + str(len(df.columns)) + " columns. CSV file has " + str(len(pd.read_csv(csvFilePath, nrows=1, sep=sep).columns)) + " columns.")
elif not (df.columns == pd.read_csv(csvFilePath, nrows=1, sep=sep).columns).all():
raise Exception("Columns and column order of dataframe and csv file do not match!!")
else:
df.to_csv(csvFilePath, mode='a', index=False, sep=sep, header=False)
Trochę późno do partii, ale można też użyć menedżera kontekstowe, jeśli otwieranie i zamykanie złożyć kilka razy, lub dane logowania, statystyki itd
from contextlib import contextmanager
import pandas as pd
@contextmanager
def open_file(path, mode):
file_to=open(path,mode)
yield file_to
file_to.close()
##later
saved_df=pd.DataFrame(data)
with open_file('yourcsv.csv','r') as infile:
saved_df.to_csv('yourcsv.csv',mode='a',header=False)`
Początkowo wychodząc z dataframes pyspark - mam błędy typu konwersji (przy konwersji do pandy df, a następnie dodanie do csv) Biorąc pod uwagę typy schematu/kolumn w moje ramki danych dla pyspark
rozwiązał ten problem poprzez zmuszanie wszystkich kolumn w każdym df się od typu string, a następnie dodanie do pliku CSV to następująco:
with open('testAppend.csv', 'a') as f:
df2.toPandas().astype(str).to_csv(f, header=False)
- 1. dodać częściowy plik do istniejącego pliku formularza
- 2. Jak dodać dane z gnuplot do istniejącego pliku bez overwiting zawartość wspomnianego pliku
- 3. STORE dane wyjściowe do jednego pliku CSV?
- 4. Jak dodać nagłówek do pliku csv w Pythonie?
- 5. Jak dodać nową kolumnę do istniejącego arkusza
- 6. jak dodać linie do istniejącego pliku za pomocą python
- 7. Jak dodać nowy wiersz do istniejącego QTableWidget?
- 8. Dane pand ze stdin
- 9. Dołącz nagłówek do pliku CSV?
- 10. jak dołączyć dane do istniejącego LMDB?
- 11. CMake: jak dodać cuda do istniejącego projektu
- 12. pandas to_csv: tłumienie notacji naukowej w pliku csv podczas pisania pand do csv
- 13. Jak eksportować dane z Spark SQL do pliku CSV
- 14. Jak eksportować dane do pliku csv w systemie Android?
- 15. Jak dodać kolejny fragment do istniejącego fragmentu?
- 16. Importowanie pliku CSV w pand w dataframe pandy
- 17. Czy można dołączyć do pierwszej linii istniejącego pliku?
- 18. iPhone - Dodaj podstawowe dane do istniejącego projektu?
- 19. PHP dodać węzeł do istniejącego pliku xml i zapisać
- 20. jak dodać dane do ManyToManyField?
- 21. Eksportuj dane z MATLAB do CSV
- 22. Jak dodać dane według kolumn w pliku csv za pomocą R?
- 23. Buforowanie sql do pliku CSV, gdy dane zawierają przecinki
- 24. Ładowanie pliku csv do jQuery?
- 25. Jak dodać klasę JavaFX 2.0 do istniejącego projektu Maven?
- 26. Pisanie do istniejącego pliku Excel
- 27. dane POST JSON do istniejącego obiektu
- 28. Dodać do istniejącego folderu subtree git
- 29. Przesyłanie pliku CSV do shinyApps.io
- 30. wyeksportować dane dotyczące pliku CSV z aplikacji android
myślę metoda zaproponowana przez @tlingf jest lepszy tylko dlatego jest on za pomocą Build- w funkcjonalności biblioteki pand. Sugeruje zdefiniowanie trybu jako "a". "A" oznacza APPEND "df.to_csv (" my_csv.csv ", tryb =" a ", nagłówek = fałsz)" – Ayrat