I recently tried moving my contacts from Skype to my new cell phone. However, due to the inability of my phone and Skype to output/input contacts in a reasonable format, I had to export a vCard from Skype and import it into Google to sync them with my phone. Unfortunately, Skype uses almost none of the default vCard fields in its exported vCard:
BEGIN:VCARD
VERSION:3.0
N:+1906281XXXX (Name of the contact)
X-SKYPE-PSTNNUMBER:+1906281XXXX (Phone Number of the contact)
X-SKYPE-DISPLAYNAME:R**** S**** (Display Name of the contact)
REV:01090615T210355Z (Date/Time of last revision)
END:VCARD
As you can see, Skype thinks that a persons phone number should be their name as far as contact information goes. I found this unacceptable and didn’t feel like manually going through and changing them (plus I can’t recognize phone numbers like I used to). So I constructed a perl script that will take entries in the above format and convert it to the following format (the Google Contacts csv format):
Name,E-mail,Notes,Section 1 – Description,Section 1 – Email,Section 1 – IM,Section 1 – Phone,Section 1 – Mobile,Section 1 – Pager,Section 1 – Fax,Section 1 – Company,Section 1 – Title,Section 1 – Other,Section 1 – Address,Section 2 – Description,Section 2 – Email,Section 2 – IM,Section 2 – Phone,Section 2 – Mobile,Section 2 – Pager,Section 2 – Fax,Section 2 – Company,Section 2 – Title,Section 2 – Other,Section 2 – Address,Section 3 – Description,Section 3 – Email,Section 3 – IM,Section 3 – Phone,Section 3 – Mobile,Section 3 – Pager,Section 3 – Fax,Section 3 – Company,Section 3 – Title,Section 3 – Other,Section 3 – Address
This was easy to do, since most of it was comma work. Ultimately the output looking something like this:
Full Name,,,Personal,,,,Mobile Phone,,,,,,
or
Garbage Guy,,,Other,,SKYPE: skype,,,,,,,,,Personal,,,,1234567890,,,,,,
My perl script takes an input of the filename and outputs a csv in the working directory. If you would like more information, the script, or the source code, leave a comment.