Pandas — один из главных инструментов аналитика и Python-разработчика для работы с табличными данными. Чаще всего в реальных задачах данные нужно не только обработать, но и корректно загрузить из внешнего источника или выгрузить в нужный формат. Разберём базовые сценарии: CSV, Excel, JSON и SQL.
CSV: самый популярный формат
Для чтения используется pd.read_csv():
import pandas as pd
df = pd.read_csv("data.csv")
Полезные параметры:
sep=";"— если разделитель не запятаяencoding="utf-8"илиcp1251— если проблемы с кириллицейusecols=[...]— загрузить только нужные столбцыparse_dates=[...]— сразу преобразовать даты
Экспорт:
df.to_csv("result.csv", index=False)
index=False убирает служебный индекс из файла — это частая практика.
Excel: удобно для бизнеса и отчётов
Чтение Excel-файлов:
df = pd.read_excel("report.xlsx", sheet_name="Лист1")
Можно читать конкретный лист, несколько листов или весь файл. Для записи:
df.to_excel("result.xlsx", index=False)
Если нужно сохранить несколько таблиц на разные листы:
with pd.ExcelWriter("result.xlsx") as writer:
df.to_excel(writer, sheet_name="Данные", index=False)
Важно: для работы с Excel могут понадобиться движки вроде openpyxl.
JSON: для API и веб-сервисов
Чтение JSON:
df = pd.read_json("data.json")
Если структура вложенная, часто требуется дополнительная нормализация через json_normalize. Экспорт:
df.to_json("result.json", orient="records", force_ascii=False)
orient="records" удобен для API, а force_ascii=False сохраняет читаемую кириллицу.
SQL: загрузка из баз данных
Pandas умеет работать с SQL через read_sql():
import sqlite3
conn = sqlite3.connect("database.db")
df = pd.read_sql("SELECT * FROM users", conn)
Запись в таблицу:
df.to_sql("users_copy", conn, if_exists="replace", index=False)
Полезные режимы:
if_exists="fail"— ошибка, если таблица естьreplace— перезаписатьappend— добавить данные
Для PostgreSQL, MySQL и других СУБД обычно используют sqlalchemy.
Практические советы ⚙️
- Проверяйте типы данных после загрузки:
df.info() - Ограничивайте объём данных при чтении больших файлов:
nrows=1000 - Явно задавайте кодировку и разделители
- Для Excel и JSON тестируйте структуру до массовой обработки
- При экспорте в SQL следите за типами столбцов и дубликатами
Что важно запомнить 💡
Pandas закрывает почти все типовые задачи обмена данными между файлами, API и базами. Если знать ключевые методы — read_csv, read_excel, read_json, read_sql, а также to_csv, to_excel, to_json, to_sql — можно быстро строить ETL-пайплайны, отчёты и аналитические процессы.
📎 В конце стоит заглянуть в подборку каналов про IT — там много полезного по Python, аналитике, data engineering и автоматизации.