Русский

Как удалить повторяющиеся строки в CSV

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

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

Почему «идентичные» строки выдерживают дедупликацию

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

  • Завершающие или ведущие пробелы. Невидимый в электронной таблице, решающий для сравнения.
  • Различия в регистрах. ann@example.com и Ann@example.com — это разные строки, хотя это один и тот же почтовый ящик.
  • Разное цитирование. «Смит, Джон» и «Смит\, Джон» могут иметь одно и то же значение и отличаться побайтово перед анализом.
  • Неразрывные пробелы. При копировании и вставке веб-страницы или PDF обычное пространство часто заменяется U+00A0, и ничего в этом не выглядит необычным.
  • Завершающий пустой столбец. Один экспорт записывает четыре поля, другой — четыре поля и конечный разделитель.

Порядок, который работает

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

  1. Загрузите файл и убедитесь, что разделитель и количество столбцов указаны правильно. Дедупликация файла, который анализируется как один столбец, не приносит никакой пользы.
  2. Обрезать пробелы в каждой ячейке.
  3. Удалите пустые строки, если они есть в экспорте, чтобы они не сворачивались в одну сохраненную пустую строку.
  4. Удалите повторяющиеся строки.
  5. Проверьте количество строк до и после. Разница в том, сколько дубликатов было.

Дубликаты всей строки, а не дубликаты ключей

При этом удаляются строки, одинаковые во всех столбцах. Это не то же самое, что удаление строк с общим ключом.

Если один и тот же клиент появляется дважды с разными датами регистрации, это не повторяющиеся строки — это две разные записи с одинаковым именем. Удаление одного из них будет означать удаление данных, и инструмент не будет делать это наугад.

Чтобы выполнить дедупликацию по ключу, сократите экспорт до столбцов, определяющих ключ, выполните дедупликацию и используйте результат в качестве списка поиска. Или выполните объединение в электронной таблице или базе данных, где и принадлежит такое решение.

Дедупликация одного столбца значений

Если ваша реальная проблема — это список — адреса электронной почты, SKU, URL-адреса — а не таблица, Text Toolkit — более быстрый путь. Он дедуплицирует строки, обрезает и сортирует их и использует вставку, а не файл.

Здесь действует то же правило порядка: сначала обрезать, затем дедуплицировать.

Рабочий пример: список рассылки, объединенный из трех экспортов.

Три экспорта были объединены в один файл 4,812 со столбцами «Имя», «Электронная почта» и «Источник». Некоторые контакты встречаются более чем в одном источнике, а файл был собран методом копирования и вставки, поэтому в некоторых строках есть конечные пробелы.

Сразу удаляем дубликаты, отчеты 118 удалены — подозрительно мало для трех перекрывающихся списков.

  1. Отмените дедупликацию.
  2. Обрезать пробелы в каждой ячейке.
  3. Снова удалите повторяющиеся строки.
  4. Сравните количество строк с оригиналом.

Результат: Второй проход удаляет значительно больше строк, чем первый, поскольку обрезка делает реальные дубликаты идентичными. Строки, которые имеют общий адрес электронной почты, но различаются в столбце «Источник», по-прежнему присутствуют правильно — они не являются идентичными строками, и решение о том, какой источник выиграет, остается за вами.

Откройте инструмент

Дедупликация CSV в вашем браузере

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

Что это не распространяется

  • Удалены только дубликаты целой строки. Этот инструмент не выполняет дедупликацию по ключевому столбцу.
  • Случай знаменательный. ANN@example.com и ann@example.com сохраняются в виде двух строк.
  • Первое вхождение сохраняется. Нет возможности оставить последнее.
  • Весь файл хранится в памяти и ограничен значением 50 MB.
  • Отмена ограничена последними 20 операциями.
  • В предварительном просмотре отображаются только первые 100 строки, поэтому проверяйте результаты по количеству строк, а не путем прокрутки.