Объединить дубликаты для большого количества контактов из VCF

У меня есть файл.vcf с большим количеством контактов ( 29000!). Я хочу объединить дубликаты (например, одно имя, две записи, одна с электронной почтой, другая с номером телефона) и удалить точные дубликаты для них. Я проверил некоторые приложения для Android, но они хороши только для нескольких контактов. Например, я попробовал Go Contacts Ex, он сканирует дубликаты записей по имени, электронной почте или номеру. Но количество повторяющихся записей в моем случае было бы очень большим.

Я думаю, есть ли какой-нибудь способ, которым я могу преобразовать файл vcf в csv, отредактировать его, преобразовать обратно в vcf и импортировать в мой телефон (S4). Мысли и предложения о том, как это сделать?

2 ответа

В этом проекте есть простой скрипт на Python https://code.google.com/p/nodupe/. Если у вас установлен Subversion, вы можете проверить его, используя svn checkout http://nodupe.googlecode.com/svn/trunk/ nodupe или вы можете скопировать и вставить скрипт из https://code.google.com/p/nodupe/source/browse/trunk/src/nodupe.py?r=2. Идея конвертировать в csv, вероятно, никуда не ведет (по крайней мере, это не приведет к чистому решению), в том числе потому, что записи vcard могут содержать символы разделения, используемые csv.

Поскольку вы упоминаете, что хотите использовать контакты с телефоном Android, это приложение может быть актуально для вас: https://play.google.com/store/apps/details?id=com.compelson.optimizer&hl=en выполнять различные операции по очистке и объединению контактов. Для этого вам нужно сделать ваш vcf-файл доступным в качестве ресурса контактов Android, поэтому вы можете сначала импортировать контакты на телефон, а затем выполнить оптимизацию.

Вам не нужно конвертировать vcf в csv, потому что вы можете открыть vcf как текстовый файл.

Таким образом, вы можете написать простой скрипт на python, чтобы исключить дубликаты и объединить любые данные по разным правилам.

Другие вопросы по тегам