Инструмент для преобразования файлов Excel? (обмен столбцами, базовые операции со строками и т. д.) - PullRequest
1 голос
/ 17 сентября 2009

Мне нужно импортировать табличные данные в мою базу данных. Данные поступают через электронные таблицы (в основном файлы Excel) от нескольких сторон. Формат каждого из этих файлов похож, но не одинаков, и для преобразования данных в конечный формат, пригодный для импорта, потребуются различные преобразования. Кроме того, форматы ввода могут измениться в будущем. Я ищу инструмент, который может запускаться и администрироваться обычными пользователями для преобразования входных файлов.

Теперь позвольте мне перечислить некоторые преобразования, которые я собираюсь сделать:

  • поменять столбцы:

Ввод:

|Name|Category|Price|
|data|data    |data |

Выход

|Name|Price|Category|
|data|data |data    |
  • переименовать столбцы

Ввод:

|PRODUCTNAME|CAT |PRICE|
|data       |data|data |

Выход

|Name|Category|Price|
|data|data    |data |
  • сопоставить столбцы в соответствии с таблицей поиска, как в приведенных выше примерах: заменить каждое вхождение строки «Автомобиль» на «автомобиль» в столбце Категория
  • базовая математика: умножьте столбец цены на некоторый коэффициент
  • основные манипуляции со строками Допустим, формат столбца «Цена» - «3 x 45 долларов», я хотел бы разделить его на два столбца суммы и цены
  • фильтрация строк по значению: исключить все строки, содержащие слово «дорогой»
  • и т.д.

У меня есть следующие требования:

  • может работать на любой из следующих платформ: Windows, Mac, Linux
  • Open Source, Freeware, Shareware или коммерческий
  • преобразования должны быть доступны для редактирования через графический интерфейс
  • если инструмент требует обучения конечного пользователя, что не является проблемой
  • может обрабатывать порядка 1000-50000 строк

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

Какие инструменты вы используете для решения этой проблемы?

Ответы [ 4 ]

2 голосов
/ 17 сентября 2009

Самым простым решением IMHO было бы использование самого Excel - вы получите все встроенные функции Excel и макросы бесплатно.

Имейте свой код преобразования в макросе, который вызывается через элементы управления Excel (для графического интерфейса пользователя) аспект) на электронную таблицу. Найдите способ вставить эту электронную таблицу и макрос в файлы Excel вашего клиента. Таким образом, вам не нужно беспокоиться о совместимости платформы (это их файл, поэтому они должны его открывать) и обо всем остальном. Другие требования также выполнены. Единственная тренировка - показать им, как включить макросы.

0 голосов
/ 10 декабря 2009

Я склонен использовать MS Access в качестве конвейера между несколькими источниками данных и местами назначения, но вы ищете что-то более автоматизированное Вы можете использовать макросы и VB-скрипт с Access, чтобы справиться со многими основами.

Однако у вас всегда будут проблемы с согласованностью данных, поскольку пользователи неправильно интерпретируют способы нормализации своей информации. Удачи!

0 голосов
/ 06 декабря 2009

Вы не сказали, в какую базу данных вы импортируете или какой инструмент используете. Если бы вы использовали SQL Server, то я бы рекомендовал использовать службы интеграции SQL Server (SSIS) для управления электронными таблицами во время процесса импорта.

0 голосов
/ 06 декабря 2009

Mule Data Integrator сделает все это из файла CSV. Таким образом, вы можете экспортировать свою электронную таблицу в файл CSV и загрузить файл CSV в MDI. Он может даже загрузить данные непосредственно в базу данных. И пользователь может указать все преобразования, которые вы запрашивали. MDI будет хорошо работать в не-Mule средах. Вы можете найти его здесь mulesoft.com (отказ от ответственности, моя компания разработала технологию преобразования, на которой основан этот продукт).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...