2014-03-08 2 views
0

Нужна помощи с удалением повторяющихся строк из текстового файла, который содержит данные в следующем форматепоиск дубликатов строк из табуляции текстового файла

Вкладка Sample-де-Limted текстового файла - streets.txt

row0 street zipcode city state country 
row1 5th-Ave 1111 Chicago Illinois USA 
row2 3rd-street 1111 Chicago Illinois USA 
row4 3rd-street 1111 Chicago Illinois USA 
row5 10th-Ave 2222 Carlsbad California USA 
row6 10th-Ave 2222 Carlsbad California USA 

есть ли быстрый способ

1) Получить выходной сигнал, который содержит повторяющиеся строки в новый файл (строка 3 и 6 строк в примере)

Желаемый выход DUPL icates.txt

row0 3rd-street 1111 Chicago Illinois USA 
row6 10th-Ave 2222 Carlsbad California USA 

2) Удалить повторяющиеся строки (версии исходного файла, удаление строки 3 и 6 в новый файл)

Желаемая выход duplicates_removed.txt

row0 street zipcode city state country 
row1 5th-Ave 1111 Chicago Illinois USA 
row2 3rd-street 1111 Chicago Illinois USA 
row3 10th-Ave 2222 Carlsbad California USA 

ответ

1

Ну, если вы находитесь в Excel, одним из способов было бы просто создать дополнительный столбец, содержащий все элементы из всех других столбцов. Сортировка по этой колонке, и вы можете легко идентифицировать идентичные строки и обрабатывать их вручную.

Предполагая, что ваши 6 столбцов в A-F, в G1 поставил

=A1 & B1 & C1 & D1 & E1 & F1 

Copy, что вниз списка. Затем сортируйте по G1, затем по A1. Это будет поставить первый из одинаковых строк, как первый в списке (то есть, row2 будут перед row4)

Тогда в Н2 поставить следующую формулу:

=if(G2=G1,"duplicate","") 

Copy, что вниз списка. Теперь скопируйте столбцы G и H и используйте специальные вставки/значения. Сортировка по H, затем по A. Это даст вам все первые записи каждой повторяющейся группы (включая полностью уникальные значения) в группе в начале, а затем сортирует все второй и последующие дубликаты в конце. Вырезать и вставить вторую группу на другой лист. Сохраните каждый лист в виде отдельного файла с разделителями табуляции.

Преобразование этой процедуры в код VBA должно быть само собой разумеющимся.

0
  1. сортировать все строки.
  2. перейдите по строкам и удалите каждую строку, которая совпадает с последней проверенной вами линией.

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

0

если вы откроете это в excel, и все данные в строке будут в 1 ячейке каждый, тогда есть фильтр, который удалит дубликаты.

выберите col A со всеми данными, затем перейдите в Filter> advanced> «Только уникальные записи». Затем вы можете просто скопировать пасту col A на новый лист.

Смежные вопросы