Нейросеть для анализа таблиц: CSV и Excel через API без ошибок в цифрах

Как анализировать CSV и Excel с помощью модели через API: числа считает pandas, модель ищет закономерности и пишет выводы в JSON, а код проверяет, что каждый вывод опирается на реальную метрику.

6 мин · · автоматизация · разработка

«Нейросеть для анализа таблиц» ищут аналитики и разработчики, у которых есть выгрузка продаж, заказов или отзывов, а времени разбирать её вручную нет. Соблазн простой: отправить модели весь CSV и спросить «что тут интересного». Ниже — почему так делать не стоит, как подготовить данные в pandas, что отправлять вместо целой таблицы, как получить ответ в JSON и сколько стоит такой анализ.

Почему нельзя просто отправить всю таблицу

Три причины.

Арифметика. Языковая модель генерирует текст, а не выполняет вычисления. Сумму по тысячам строк, среднее, процент роста или количество строк с условием она может назвать правдоподобно, но неверно. Чем больше строк, тем выше риск. Поэтому правило одно: все числа считает код, модель их интерпретирует.

Размер. Таблица в токенах занимает много. Допустим, строка с пятью-шестью колонками — около 30 токенов (точное число для своих данных узнайте по usage.prompt_tokens на пробных 100 строках). Тогда 10 000 строк — около 300 000 токенов входа, а 50 000 строк — около 1,5 млн, это больше контекста в 1M у любой модели из каталога Zukko.

Цена. Даже если таблица помещается, вы платите за каждый токен входа при каждом вопросе. Расчёт ниже.

Нейросеть для анализа таблиц: pandas считает, модель объясняет

  1. Загрузить таблицу в pandas и почистить: типы, пропуски, дубликаты.
  2. Посчитать кодом метрики, которые нужны для ответа: итоги, разрезы по месяцам и категориям, доли, пропуски.
  3. Отправить модели выжимку: метрики в JSON и 10–20 случайных строк, чтобы она понимала структуру.
  4. Попросить ответ строго в JSON, где каждый вывод ссылается на ключ метрики.
  5. Проверить кодом, что ключи существуют, и подставить настоящие значения.

Модель здесь делает то, что у неё получается: замечает закономерности, формулирует гипотезы, предлагает, что проверить дальше. Цифры в отчёте всегда из pandas.

Подготовка CSV и Excel в pandas

CSV читается через pd.read_csv, Excel — через pd.read_excel. Для файлов .xlsx нужен пакет openpyxl (pip install pandas openpyxl). Параметр sheet_name выбирает лист; sheet_name=None вернёт словарь со всеми листами.

Перед отправкой стоит:

  • привести даты и числа к правильным типам (parse_dates, pd.to_numeric(..., errors="coerce"));
  • посчитать пропуски по колонкам — модель должна знать, где данные неполные;
  • убрать колонки с персональными данными (ФИО, телефоны, email), если они не нужны для вывода: случайные строки уходят в запрос как есть.

Пример: анализ выгрузки продаж

Файл sales.csv с колонками date, region, revenue. Скрипт считает метрики, отправляет выжимку и проверяет ответ:

bash
import json

import pandas as pd
from openai import OpenAI

df = pd.read_csv("sales.csv", parse_dates=["date"])  # Excel: pd.read_excel(путь, sheet_name=...)

df["month"] = df["date"].dt.to_period("M").astype(str)

metrics = {  # все числа считает pandas
    "rows": int(len(df)),
    "revenue_total": round(float(df["revenue"].sum()), 2),
    "avg_order": round(float(df["revenue"].mean()), 2),
}

Что здесь важно:

  • Срез text.find("{") … rfind("}") отрезает возможные пояснения или обёртку ```json вокруг объекта. Если json.loads всё равно падает, повторите запрос или посмотрите статью о строгом JSON-ответе — там разобран способ через tools.
  • Поле metric связывает каждый вывод с числом из pandas. Вывод без существующей метрики помечается как неподтверждённый, а значения в отчёте берутся из словаря metrics, а не из текста модели.
  • next_checks — список того, что модель предлагает посчитать дальше. Посчитайте это кодом и при необходимости отправьте второй запрос с новыми метриками.

Где модели ошибаются и что считать кодом

Отдавайте коду всё, где есть вычисление или точный подсчёт:

  • суммы, средние, медианы, проценты и темпы роста;
  • количество строк по условию («сколько заказов дороже 10 000»);
  • сортировку и топы по длинным спискам;
  • среднее от средних и доли от разных базисов — частая ловушка и для людей;
  • операции с датами: разницы, недели, сезонность.

Модели можно отдать формулировку выводов, поиск аномалий в уже посчитанных разрезах, гипотезы («провал в октябре может объясняться неполным месяцем — данные до 5-го числа»), классификацию текстовых колонок и черновик отчёта. Если хотите, чтобы модель предлагала код для расчёта, запускайте его только после просмотра или в изолированной среде.

Сколько стоит анализ таблицы через API

Цены на 7 октября 2026, $ за 1M токенов. Формула для одного запроса: (вход × цена входа + выход × цена выхода) / 1 000 000.

Выжимка вместо таблицы. Метрики и 20 строк — около 3 000 токенов входа, ответ — около 800 токенов.

  • gpt-6.1-sol ($0.27 / $1.32): (3 000 × 0.27 + 800 × 1.32) / 1 000 000 = (810 + 1 056) / 1 000 000 ≈ $0.0019 за отчёт.
  • gemini-3.8-flash ($0.063 / $0.288): (3 000 × 0.063 + 800 × 0.288) / 1 000 000 = (189 + 230.4) / 1 000 000 ≈ $0.00042.

Вся таблица. 10 000 строк по 30 токенов = 300 000 токенов входа и те же 800 на выходе.

  • gpt-6.1-sol: (300 000 × 0.27 + 800 × 1.32) / 1 000 000 = (81 000 + 1 056) / 1 000 000 ≈ $0.082 за каждый вопрос — и без гарантии верных сумм.

Построчная обработка текста. Если в таблице есть колонка с комментариями, которую нужно разметить (тема, тональность), это отдельная задача: каждая строка — короткий запрос к дешёвой модели. 5 000 строк по 150 токенов входа и 20 выхода:

  • deepseek-v4.1-flash ($0.013 / $0.038): 5 000 × (150 × 0.013 + 20 × 0.038) / 1 000 000 = 5 000 × 2.71 / 1 000 000 ≈ $0.014;
  • gemini-3.8-flash: 5 000 × (150 × 0.063 + 20 × 0.288) / 1 000 000 = 5 000 × 15.21 / 1 000 000 ≈ $0.076.

Качество разметки у моделей разное — прогоните 50–100 строк с эталонными ответами и сравните. Подробный пример построчной разметки — в статье анализ отзывов от CSV к выводам, похожая схема для входящих писем — в статье нейросеть для разбора почты. Актуальный список и цены — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.

Если хотите попробовать на своей выгрузке, создайте ключ на странице API-ключей; справка по запросам — в документации chat/completions.

Частые вопросы

Какая нейросеть для анализа таблиц подходит лучше?

Если модель только интерпретирует посчитанные метрики, начните с недорогой и сравните её с более сильной на нескольких своих выгрузках. Ориентир — индекс силы в каталоге (например, GPT-6.1 Sol — 52, Gemini 3.8 Flash — 41), но решает проверка на ваших данных.

Можно ли отправить Excel-файл напрямую?

В чат-запрос уходит текст, поэтому файл сначала читают в pandas (pd.read_excel, нужен openpyxl) и превращают в метрики и CSV-фрагмент. Так вы контролируете, что именно и в каком объёме попадает к модели.

Что делать, если модель всё-таки выдумала число?

Не брать числа из текста модели вообще. В примере выше значения подставляются из словаря metrics, а вывод без существующего ключа помечается как неподтверждённый.

Как отправить таблицу больше миллиона токенов?

Никак целиком — и не нужно. Сведите её к агрегатам в pandas; если нужен разбор каждой строки, обрабатывайте строки пачками отдельными запросами.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.

Нейросеть для анализа таблиц: CSV и Excel через API · Zukko