ПО Rastrwin: макрос пакетной загрузки CSV

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

Смысл работы: в одну папку копируются файлы Rastrwin и файлы CSV, при запуске скрипта в каждый файл Rastrwin заносится информация из каждого CSV файла.

Для того, чтобы правильно понять какое действие надо выполнить при импорте файла CSV, его название должно быть специальным.

Шаблоны должны быть следующие:

  • таблица_№действие_комментарий.расширение
  • таблица_№действие_колонки_комментарий.расширение
  • По умолчанию разделитель в шаблоне имени файла нижнее подчеркивание «_» (этот параметр можно изменить в настройках скрипта).

    Имя таблицы можно задать, зная настоящее имя или имя таблицы в программе, например, таблица Узлы называется node, таблица Ветви — vetv.

    Узнать настоящее имя любой таблицы можно в Настройки программы — Параметры — Данные — Таблицы

    Если в шаблоне имени файла нет списка колонок, то названия колонок должны быть указаны в первой строке файла CSV. По умолчанию, колонки, которые указываются в имени файла должны разделяться запятой «,» (это тоже можно изменить в настройках), а для колонок, указанных как первая строчка файла CSV, разделителем является точка с запятой «;». Это сделано для того, чтобы при работе с файлом CSV через Excel не было проблем с сохранением и загрузкой данных. Колонки можно задавать как на английском, так и их русское описание, например, столбец ny — это столбец Номер в таблице узлы.

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

    Имя колонки

    Номер действия — это значения для манипуляции с данными:

  • (0) – добавить в конец таблицы (режим Присоединить)
  • (1) – заменить данные в таблице (режим Загрузить)
  • (2) – заменить данные по ключевым полям (режим Обновить)
  • (3) – заменить данные по ключевым полям (режим Объединить)
  • (9) – удаление строк попадающих под CSV файл (по ключу таблицы)
  • Рассмотрим теперь простенькие примеры:

    Создадим пустые файлы rg2 и поместим рядом с ними CSV файлы

    Исходная папка с файлами

    Будем загружать CSV файлы по порядку csv0-9, указывая в настройках скрипта расширение файлов для CSV (vbTypeCsv), редактируя их в блокноте

    Настройки скрипта ImportCsv

    Для начала посмотрим содержание файла с расширением csv0:

    файл csv0

    Запускаем скрипт, который должен добавить в конец таблицы 3 узла, и проверяем результат

    Результат импорта csv0

    Теперь меняем в скрипте расширение на csv1 — замена данных в таблице. Предварительно посмотрим содержание файла csv1:

    файл csv1

    Результат в программе

    Результат импорта csv1

    Теперь импортируем файл с расширением csv3 — режим объединить, в котором если узлы будут не найдены, они вставятся в конец таблицы, содержание файла csv3

    файл csv3

    и результат

    Результат импорта csv3

    Теперь запустим обновление данных — тип файла csv2. Только не забываем поменять в настройках скрипта (vbNameDelimiter) тип разделителя на точку с запятой «;». Файл обновления csv2:

    файл csv2

    Результат импорта csv2

    И последний файл для импорта с расширение csv9, он должен удалить узлы по ключу, содержимое его и результат выполнения

    файл csv9

    Результат импорта csv9

    Как легко создавать файлы CSV для последующего импорта

    1. Если вы используете копирование через контекстное меню
    2. Меню экспорта

      При выборе файла указывайте в названии столбцы, по которым производится выгрузка

      Rastr3 вставляет в поле параметры все столбцы, которые выведены в таблице отображения

      Окно экспорта

    3. Если вы просто копируете данные из таблицы, то не забудьте поставить галочку на копирование название столбцов
    4. Копирование названия столбцов

      и после копирования через ctrl+C или контекстное меню Копировать в excel уже готовый файл, который надо сохранить как CSV файл

      Обычно если стоит русская локализация, то файл CSV создается с разделителем точка с запятой «;», однако если это не так, то в скрипте можно выставить любой разделить для файла

      Вставка в excel

    При работе удобно использовать изменения расширений для файлов, чтобы быстро без редактирования и копирования в отдельные папки производить импорт

    Скачать скрипт importCsv_1.35.zip

    Скачать примеры importCsvExample.zip

    Оцените статью
    В коробке инженера
    Добавить комментарий

    Нажимая на кнопку "Добавить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности