Обработка динамических заголовков CSV в PHP / Mysql - PullRequest
1 голос
/ 22 апреля 2011

Я знаю, что название не самое описательное, но я не могу придумать лучшего способа описать его.

В конечном итоге я хотел бы сделать следующее:

Я делаю систему, которая обрабатывает импорт данных через CSV из нескольких разных компаний.Естественно, формат каждой компании немного отличается, с разными объемами данных в каждом столбце / заголовке и разным расположением.

Я мог бы:

  1. Жесткий кодформат файла в программе, который быстро и просто программируется, но не является абстрактным или пригодным для будущего

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

Я хотел бы сделать вариант 2, но как мне поступить так??

Я предполагаю, что система стилей тегов сделает это ... но любой совет будет оценен.

Я использую PHP, MySQL и CodeIgniter 2.0.2, если это поможет, итакже иметь доступ ко всем библиотекам Zend в моем приложении.

1 Ответ

1 голос
/ 24 апреля 2011

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

Простая форма, которая позволяет пользователю выбрать тип данных и дать вам имя поля в их CSV, может быть использована для создания шаблонов, которые вы упомянули. Сохраните их в таблице базы данных, связанной с пользователем, и заставьте их выбрать шаблон перед импортом в CSV. Для клиентов, у которых есть csvs без строк заголовка, небольшая разница, когда они сообщают номера столбцов для каждого типа данных.

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

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

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