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.