Skip to content

IrinaDemyanenko/excel_parser_openpyxl_only

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

excel_parser_openpyxl_only

Технологии: openpyxl, python

Перед Вами проект, который обрабатывает Excel-файл, содержащий разичные технические данные, и преобразует его в файл JSON.

Порядок этапов:

  1. preprocessor.py

Предобработка Excel-файла (из директории excel_parser_project/data/raw/имя_файла): очистка ячеек с числовыми данными от лишнего текста (например, "600 op.h.") и сохранение копии Excel-файла в той же директории, но с окончанием _cleaned.xlsx.

  1. loader.py

Загрузка данных из excel-файла в список словарей.

  1. inspector.py

Оценка загруженной таблицы (списка словарей):

  • число строк в таблице,

  • заголовки таблицы (списком),

  • первые 10 строк таблицы (для оценки содержимого).

  1. cleaner.py

Общая очистка таблицы:

  • удаляет лишние пробелы вначале и в конце строки,
  • удаляет символы переноса строки '\n',
  • удаляет символы неразрывного пробела '\xa0',
  • заменяет {'', ' ', ' ', ' ', '-', '--', '---'} на None.
  1. converter.py

Преобразование типов данных:

  • числовые поля - int,
  • даты - строки, вида 'ДД.ММ.ГГГГ',
  • строки - str,
  • числовые поля с ведущими нулями сохраняются в виде строк '07', '12',
  • колонку со смешанными данными (float и str) делим на две колонки.
  1. inspector.py

Визуальная проверка перобразованной таблицы.

  1. exporter.py

Экспорт очищенной и преобразованной таблицы (списка строк) в JSON (list[dict] - массив объектов, где каждая строка - отдельный объект):

[ {...}, {...}, ... {...} ]

Файл config.py содержит имена файлов и настройки путей - откуда взять файл для обработки и куда потом сохранить новый файл, с обработанной информацией. Такое размещение позволяет менять настройки в одном месте, что очень удобно.

Как запустить проект:

  1. Клонируйте репозиторий и перейдите в него в командной строке:
git clone https://github.com/IrinaDemyanenko/excel_parser_openpyxl_only
cd excel_parser_openpyxl_only/
  1. Создайте виртуальное окружение и активируйте его:
python -m venv venv
venv/Scripts/activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Запустите скрипт для подготовки файла-excel. Выполнение скрипта создаст копию файла в директории excel_parser_openpyxl_only/data/raw/:
python prepare.py
  1. Откройте копию файла в папке, сохраните изменения, закройте файл. Этот шаг необходим для расчёта формул внутри файла-excel и получения вычисленных значений формул.

  2. Теперь можно запускать основной скрипт:

python main.py
  1. Итоговый .json-файл будет расположен в директории excel_parser_openpyxl_only/data/processed/json/.

About

Парсер данных, созданный на основе OPENPYXL. Программа разделена на блоки по смыслу: предобработка, загрузка, просмотр, очистка, преобразование типов, экспорт, что позволяет легко понимать и менять логику обработки.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages