Слияние CSV, добавление заголовков - PullRequest
2 голосов
/ 13 сентября 2011

У меня есть несколько файлов CSV с сотнями столбцов и около 50 000 строк (при открытии в Excel).Заголовки столбцов практически идентичны, однако некоторые заголовки столбцов могут различаться в зависимости от файла CSV, как показано ниже: -

CSV1

Имя Фамилия DOB

Джон Смит 31.01.1989

CSV2

Имя Возраст Фамилия Адрес DOB

Пол 29 Джонс 123 Смит Ст 30/12/2001

CSV3

Имя Фамилия Адрес Телефон

Мик Джонс 123 ПолSt 0123456

Можно ли как-нибудь объединить все это в один большой файл CSV, добавив заголовки так, чтобы в одном главном CSV у меня были заголовки "Имя, Фамилия, DOB,Возраст, адрес, телефон », а затем соответствующие записи из каждого CSV, попадающие в заголовок соответствующего столбца.Причина, по которой я хочу сделать это, состоит в том, чтобы затем заполнить информацию большой таблицей БД MySql / Sql Server, и, таким образом, кажется, что сначала все это легко сделать одним большим CSV, прежде чем импортировать.*

Ответы [ 2 ]

3 голосов
/ 13 сентября 2011

Импортируйте их в три временные таблицы, а затем объедините их в одну таблицу, используя объединения по фамилии и DOB.В противном случае данные будут перепутаны.

0 голосов
/ 13 сентября 2011

Ручной метод (терпите меня, просто дайте представление об алгоритме):

  1. Создание окончательного списка столбцов, который включает все возможные заголовки во всех CSV.
  2. Открывайте каждую электронную таблицу по одному. Для каждой таблицы:
  3. Нажмите и перетащите заголовки и вставьте отсутствующие столбцы, чтобы они все соответствовали вашему списку из # 1
  4. Сохраните файл и повторите процедуру до # 2
  5. Объедините все электронные таблицы в одну электронную таблицу.
  6. Импорт.

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

Какие языки / технологии у вас есть для автоматизации? .СЕТЬ? Джава? PHP? Как часто будет происходить этот процесс, и насколько автоматизированным он должен быть? Это ежедневный процесс, или еженедельный, или только один раз? Сколько примерно электронных таблиц?

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