Как удалить повторяющиеся строки в CSV
Загрузите файл в очиститель CSV, обрежьте пробелы FIRST, затем удалите повторяющиеся строки. Первое вхождение каждой строки сохраняется, а последующие копии удаляются, поэтому порядок сохраняемых данных не меняется.
Порядок этих двух шагов и есть вся хитрость. Две строки, отличающиеся только конечным пробелом, не являются дубликатами для компьютера, поэтому дедупликация перед обрезкой оставляет обе строки на месте, а затем сообщает о хорошо выполненной работе.
Почему «идентичные» строки выдерживают дедупликацию
Обрезка напрямую касается первого и последнего из них. Остальным нужно ваше решение, поэтому они не нормализуются автоматически — например, складывающийся регистр правильный для адресов электронной почты и неправильный для кодов продуктов, и инструмент не может определить, какой столбец какой.
- Завершающие или ведущие пробелы. Невидимый в электронной таблице, решающий для сравнения.
- Различия в регистрах. ann@example.com и Ann@example.com — это разные строки, хотя это один и тот же почтовый ящик.
- Разное цитирование. «Смит, Джон» и «Смит\, Джон» могут иметь одно и то же значение и отличаться побайтово перед анализом.
- Неразрывные пробелы. При копировании и вставке веб-страницы или PDF обычное пространство часто заменяется U+00A0, и ничего в этом не выглядит необычным.
- Завершающий пустой столбец. Один экспорт записывает четыре поля, другой — четыре поля и конечный разделитель.
Порядок, который работает
Каждый из этих шагов отдельно можно отменить, вплоть до последних двадцати операций, поэтому попытка выполнить один из них и отменить его не требует затрат.
- Загрузите файл и убедитесь, что разделитель и количество столбцов указаны правильно. Дедупликация файла, который анализируется как один столбец, не приносит никакой пользы.
- Обрезать пробелы в каждой ячейке.
- Удалите пустые строки, если они есть в экспорте, чтобы они не сворачивались в одну сохраненную пустую строку.
- Удалите повторяющиеся строки.
- Проверьте количество строк до и после. Разница в том, сколько дубликатов было.
Дубликаты всей строки, а не дубликаты ключей
При этом удаляются строки, одинаковые во всех столбцах. Это не то же самое, что удаление строк с общим ключом.
Если один и тот же клиент появляется дважды с разными датами регистрации, это не повторяющиеся строки — это две разные записи с одинаковым именем. Удаление одного из них будет означать удаление данных, и инструмент не будет делать это наугад.
Чтобы выполнить дедупликацию по ключу, сократите экспорт до столбцов, определяющих ключ, выполните дедупликацию и используйте результат в качестве списка поиска. Или выполните объединение в электронной таблице или базе данных, где и принадлежит такое решение.
Дедупликация одного столбца значений
Если ваша реальная проблема — это список — адреса электронной почты, SKU, URL-адреса — а не таблица, Text Toolkit — более быстрый путь. Он дедуплицирует строки, обрезает и сортирует их и использует вставку, а не файл.
Здесь действует то же правило порядка: сначала обрезать, затем дедуплицировать.
Рабочий пример: список рассылки, объединенный из трех экспортов.
Три экспорта были объединены в один файл 4,812 со столбцами «Имя», «Электронная почта» и «Источник». Некоторые контакты встречаются более чем в одном источнике, а файл был собран методом копирования и вставки, поэтому в некоторых строках есть конечные пробелы.
Сразу удаляем дубликаты, отчеты 118 удалены — подозрительно мало для трех перекрывающихся списков.
- Отмените дедупликацию.
- Обрезать пробелы в каждой ячейке.
- Снова удалите повторяющиеся строки.
- Сравните количество строк с оригиналом.
Результат: Второй проход удаляет значительно больше строк, чем первый, поскольку обрезка делает реальные дубликаты идентичными. Строки, которые имеют общий адрес электронной почты, но различаются в столбце «Источник», по-прежнему присутствуют правильно — они не являются идентичными строками, и решение о том, какой источник выиграет, остается за вами.
Откройте инструмент
Дедупликация CSV в вашем браузере
Удаляет одинаковые строки во всех столбцах, сохраняя первую. Он не угадает, какую из двух похожих записей вы хотели сохранить.
Что это не распространяется
- Удалены только дубликаты целой строки. Этот инструмент не выполняет дедупликацию по ключевому столбцу.
- Случай знаменательный. ANN@example.com и ann@example.com сохраняются в виде двух строк.
- Первое вхождение сохраняется. Нет возможности оставить последнее.
- Весь файл хранится в памяти и ограничен значением 50 MB.
- Отмена ограничена последними 20 операциями.
- В предварительном просмотре отображаются только первые 100 строки, поэтому проверяйте результаты по количеству строк, а не путем прокрутки.