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

В: Как я могу удалить все строки из первого файла, если в строке есть электронная почта того, кто отписался?

Я думал об использовании электронной таблицы (MS Excel, Open Office, Google), но я могу использовать любое другое решение.

Я пробовал MS Excel, но простое удаление дубликатов не работает. Я думаю, мне нужно использовать другой подход. Но не знаю, что делать дальше.

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

2 ответа2

2

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

1

У меня есть полуавтоматический способ сделать это в Excel:

  1. Импортируйте файлы CSV на два листа. Я назвал их MasterList и UnsubList
  2. Сортировать UnsubList (Sort A to Z), используя кнопку Sort & Filter
  3. В MasterList я создал еще один столбец с именем Unsub?
  4. В каждом ряду под Unsub? введите следующую формулу:

    =IF(C2=VLOOKUP(C2,UnsubList!$A$2:$A$1000,1),"Unsub","Keep")

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

  5. Затем включите фильтр (под кнопкой Sort & Filter). У вас должно быть что-то похожее на скриншот ниже.

  6. Отмените выбор только строк Keep используя раскрывающийся список для Unsub? колонка. Это означает, что только строки, которые требуют удаления, останутся видимыми
  7. Выберите все эти строки, кроме заголовка, перетаскивая номера строк сверху вниз, щелкните правой кнопкой мыши и выберите « Delete во всплывающем меню.
  8. Теперь они ушли из MasterList
  9. Удалите столбец Unsub и повторно экспортируйте в csv

Основной список

UnsubList

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