1

Каждый месяц я получаю CSV-файл нашей клиентской базы - электронная почта, должность, номер телефона и т.д. Мне нужно идентифицировать изменения между двумя листами, включая изменения в существующих данных, а также идентификацию новых людей, добавленных.

Я хочу сравнить новый лист со старым, выделить изменения и перейти оттуда. Адрес электронной почты - самая постоянная позиция, которую мы часто используем для поиска людей. Два листа всегда будут иметь одинаковые столбцы, но строки могут быть не в порядке, что затрудняет автоматическое параллельное сравнение. Можно ли использовать адрес электронной почты в качестве отправной точки, а затем работать по строке, выделяя данные, которые отличаются?

Я знаю, что можно использовать VLOOKUP, но, несомненно, это будет означать ручное сканирование просматриваемых данных, чтобы увидеть, совпадает ли оно на обоих листах. Возможно, я что-то здесь упускаю! Все программные решения, которые я нашел, сравнивают две строки за строкой, что означает, что происходит сбой, как только новый человек добавляется / удаляется и листы становятся не синхронизированными.

Любая помощь будет оценена.

3 ответа3

1
  1. Сделайте копии ваших двух CSV-файлов.
  2. Переименуйте расширения двух копий CSV-файлов, которые вы только что создали, заменив расширение «.csv» на «.txt».
  3. Установите WinMerge, а затем откройте два новых файла .txt, которые вы только что создали в WinMerge. Теперь вы можете просмотреть все различия между двумя CSV-файлами графически в WinMerge.

Эта ссылка показывает, как выглядят различия между двумя файлами в WinMerge.

1

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

1

Если содержимое может измениться и строки могут оказаться не в порядке, вам нужен способ разместить их в определенном порядке. Похоже, вы можете использовать адрес электронной почты для сопоставления записей между файлами, верно? Сортируйте каждый CSV-файл по столбцу электронной почты (или какому-либо другому полю, которое может служить "ключом" для ваших данных), затем сравните их, используя инструмент сравнения или что-то еще.

Как сделать все это зависит от инструментов, которые есть в вашем наборе инструментов. Я бы использовал python и модуль csv , но я уверен, что ваш любимый язык сценариев подходит для этой задачи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .