Python скрипт для очистки csv и подготовки к импорту в postgresq
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill python-скрипт-для-очистки-csv-и-подготовки-к-импорту-в-postgresqAssembled 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
- Чтение файла: Используй
pd.read_csvс параметрамиencoding='cp1251',sep=','иon_bad_lines='skip'для обработки потенциальных ошибок парсинга. - Очистка заголовков: Удали переносы строк из названий столбцов:
df.columns = df.columns.str.replace('\n', ' ').str.strip(). - Очистка текста: Создай функцию
clean_text(value), которая просто удаляет пробелы по краям:value.strip(). - Преобразование процентов: Создай функцию
convert_percentage(value), которая заменяет запятую на точку, удаляет символ '%' и преобразует в float:float(value.replace(',', '.').replace('%', '')). - Обработка столбцов:
- Примени
clean_textко всем столбцам. - Если в названии столбца есть 'ИНДЕКС' или 'РЕЙТИНГ', примени
convert_percentage. - Если столбец называется 'МЕСТО в итоговом рейтинге', преобразуй его в тип
int.
- Примени
- Добавление даты: Добавь столбец
on_dateв начало DataFrame (индекс 0) с фиксированной датой (например,datetime(2024, 10, 1)). - Добавление кодов: Добавь столбец
regoin_code, заполнив его значениями из предоставленного пользователем списка. Проверь, что длина списка совпадает с количеством строк в DataFrame. - Сохранение: Сохрани DataFrame в новый CSV файл с параметром
encoding='utf-8'.
Anti-Patterns
Не используй сложное перекодирование текста (encode/decode latin1/utf-8) внутри clean_text, так как это вызывает ошибки. Полагайся на правильную кодировку при чтении файла.
Не используй error_bad_lines, используй on_bad_lines='skip'.
Interaction Workflow
- Запроси у пользователя путь к исходному файлу, путь для сохранения, желаемую дату для столбца
on_dateи список значений для столбцаregoin_code. - Сгенерируй полный скрипт на основе этих данных.
Triggers
- напиши питон скрипт для преобразования csv
- подготовить csv для postgresql
- очистить данные процентов в python
- конвертировать csv кодировку cp1251 в utf-8
- добавить столбец с датой в dataframe pandas