Интересно, как добавить новые данные DataFrame в конец существующего файла csv? To_csv не упоминает такую функциональность. Заранее спасибо.pandas DataFrame output end of csv
ответ
Вы можете добавить с помощью to_csv
, передавая файл, который open in append mode:
with open(file_name, 'a') as f:
df.to_csv(f, header=False)
header=None
Используйте, чтобы не добавлять имена столбцов.
В самом деле, панды имеет оболочку, чтобы сделать это в to_csv
используя mode
аргумент (see Joe's answer):
df.to_csv(f, mode='a', header=False)
Благодаря Энди, полное решение:
f = open(filename, 'a') # Open file as append mode
df.to_csv(f, header = False)
f.close()
Просто, чтобы упомянуть, это по существу эквивалентно выше, но после этого вы остаетесь с закрытым файлом (f), тогда как с ['with' ] (http://preshing.com/20110920/the-python-with-statement-by-example), он очищает это для вас. :) –
Вы можете также передать файловый режим в качестве аргумента методу to_csv
df.to_csv(file_name, header=False, mode = 'a')
Немного вспомогательной функции я использую (на основе ответа Джо Хупера) с некоторыми гарантиями проверки заголовков для обработки все:
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)
- 1. Python pandas: output dataframe to csv с целыми числами
- 2. Pandas DataFrame to CSV
- 3. Python: Pandas DataFrame to CSV
- 4. Преобразование pandas dataframe в csv
- 5. Слияние CSV Использование pandas dataframe
- 6. 'CSV не существует' - Pandas DataFrame
- 7. импорт csv в pandas dataframe
- 8. Pandas Dataframe
- 9. Reindex sublevel of pandas dataframe multiindex
- 10. Pandas: Unstacking One Column of DataFrame
- 11. DataFrame of DataFrames в Python (Pandas)
- 12. Добавить столбец Pandas DataFrame в CSV
- 13. Pandas DataFrame для CSV в консольном формате
- 14. Создание Dataframe из csv с pandas
- 15. «Файл CSV не существует» - Pandas Dataframe
- 16. Загрузить файл csv в pandas dataframe
- 17. Pandas, записывающий dataframe в файл CSV
- 18. Срезание Pandas DataFrame на основе csv
- 19. Pandas dataframe to csv с классами
- 20. Python - Pandas - Запись Dataframe в CSV
- 21. пишите csv из DataFrame python pandas
- 22. Ошибка чтения данных CSV в Dataframe Pandas (Python/Pandas)
- 23. pandas: нормализует DataFrame
- 24. end of youtube video
- 25. Trim end of string
- 26. reindex multiindex pandas dataframe
- 27. multiheader pandas dataframe
- 28. Pandas: DataFrame в DataFrame
- 29. Преобразование dict of dicts в pandas DataFrame - проблемы с памятью
- 30. OutPut of Map Уменьшить
необходимо также закрыть файл по f.close(). Энди, ты делаешь мой день. Он работает как шарм, я из c/C++ этнического и должен изучить философию питона. Любое предложение? – perigee
Энди, действительно оценил :-D (не может использовать символ @ :-() – perigee
Бонус указывает, что это закрывает файл после to_csv. У меня есть код, который попадает в__диск и находил файлы, оставшиеся открытыми на последующих итерациях. –