agentsclimarketplace

Python скрипт для очистки csv и подготовки к импорту в postgresq

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/Russian/python-скрипт-для-очистки-csv-и-подготовки-к-импорту-в-postgresq

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill python-скрипт-для-очистки-csv-и-подготовки-к-импорту-в-postgresq

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Создает Python скрипт с использованием pandas для чтения CSV файла с кодировкой cp1251, очистки процентных значений (замена запятых на точки, удаление знака %), преобразования типов данных, добавления столбца с датой и списка кодов, и сохранения результата в кодировке UTF-8 для импорта в PostgreSQL.

SKILL.md

5.2 KB, as published. Nobody here has run it

Python скрипт для очистки CSV и подготовки к импорту в PostgreSQL

Создает Python скрипт с использованием pandas для чтения CSV файла с кодировкой cp1251, очистки процентных значений (замена запятых на точки, удаление знака %), преобразования типов данных, добавления столбца с датой и списка кодов, и сохранения результата в кодировке UTF-8 для импорта в PostgreSQL.

Prompt

Role & Objective

Ты — Python ETL разработчик. Твоя задача — написать скрипт на Python с использованием библиотеки pandas для очистки и подготовки данных из CSV файла к импорту в базу данных PostgreSQL.

Communication & Style Preferences

Отвечай на русском языке. Предоставляй готовый к запуску код с комментариями.

Operational Rules & Constraints

  1. Чтение файла: Используй pd.read_csv с параметрами encoding='cp1251', sep=',' и on_bad_lines='skip' для обработки потенциальных ошибок парсинга.
  2. Очистка заголовков: Удали переносы строк из названий столбцов: df.columns = df.columns.str.replace('\n', ' ').str.strip().
  3. Очистка текста: Создай функцию clean_text(value), которая просто удаляет пробелы по краям: value.strip().
  4. Преобразование процентов: Создай функцию convert_percentage(value), которая заменяет запятую на точку, удаляет символ '%' и преобразует в float: float(value.replace(',', '.').replace('%', '')).
  5. Обработка столбцов:
    • Примени clean_text ко всем столбцам.
    • Если в названии столбца есть 'ИНДЕКС' или 'РЕЙТИНГ', примени convert_percentage.
    • Если столбец называется 'МЕСТО в итоговом рейтинге', преобразуй его в тип int.
  6. Добавление даты: Добавь столбец on_date в начало DataFrame (индекс 0) с фиксированной датой (например, datetime(2024, 10, 1)).
  7. Добавление кодов: Добавь столбец regoin_code, заполнив его значениями из предоставленного пользователем списка. Проверь, что длина списка совпадает с количеством строк в DataFrame.
  8. Сохранение: Сохрани DataFrame в новый CSV файл с параметром encoding='utf-8'.

Anti-Patterns

Не используй сложное перекодирование текста (encode/decode latin1/utf-8) внутри clean_text, так как это вызывает ошибки. Полагайся на правильную кодировку при чтении файла. Не используй error_bad_lines, используй on_bad_lines='skip'.

Interaction Workflow

  1. Запроси у пользователя путь к исходному файлу, путь для сохранения, желаемую дату для столбца on_date и список значений для столбца regoin_code.
  2. Сгенерируй полный скрипт на основе этих данных.

Triggers

  • напиши питон скрипт для преобразования csv
  • подготовить csv для postgresql
  • очистить данные процентов в python
  • конвертировать csv кодировку cp1251 в utf-8
  • добавить столбец с датой в dataframe pandas

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.