DataFrame.to_csv() / Series.to_csv()
Метод to_csv() записывает данные в файл формата CSV (Comma-Separated Values). Это самый универсальный способ обмена табличными данными между Python, Excel, MATLAB, базами данных и микроконтроллерами через SD-карту.
Сигнатура
DataFrame.to_csv(path_or_buf=None, sep=",", na_rep="", index=True,
header=True, encoding=None, decimal=".")
Параметры
path_or_buf— путь к файлу или файловый объект. ЕслиNone, возвращается строка.sep— разделитель (по умолчанию запятая; для русского Excel часто используют;).na_rep— чем заменятьNaN.index— записывать ли индекс (частоFalse).header— записывать ли заголовок столбцов.encoding— кодировка файла (utf-8,utf-8-sigдля Excel).decimal— десятичный разделитель.
Возвращаемое значение
None при записи в файл; str при path_or_buf=None.
Примеры
Пример 1. Сохранение в файл
import pandas as pd
df = pd.DataFrame({
"time": ["10:00", "10:01", "10:02"],
"temp": [23.5, 23.7, 23.6],
})
df.to_csv("sensors.csv", index=False)
Пример 2. Получение строки CSV
import pandas as pd
df = pd.DataFrame({"pin": ["A0", "A1"], "value": [512, 600]})
print(df.to_csv(index=False))
pin,value
A0,512
A1,600
Пример 3. Совместимость с русским Excel
import pandas as pd
df = pd.DataFrame({"датчик": ["DHT22"], "темп": [23.5]})
df.to_csv("data.csv", sep=";", decimal=",", encoding="utf-8-sig", index=False)
Пример 4. Замена NaN
import pandas as pd
import numpy as np
df = pd.DataFrame({"a": [1, np.nan, 3]})
print(df.to_csv(na_rep="NULL", index=False))
a
1.0
NULL
3.0
Пример 5. Дозапись (append) логов
import pandas as pd
new_row = pd.DataFrame({"time": ["10:03"], "temp": [23.8]})
new_row.to_csv("sensors.csv", mode="a", header=False, index=False)
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.