convertir archivos .nbu a .vcf o a .csv

31 07 2016

Tienes un backup de los contactos de tu viejo teléfono Nokia? Pues hoy aprenderás a convertirlo en un formato mas fácil de utilizar.

Necesitas nbuexplorer en sourceforge, trate de recuperar 905 contactos con nokisoft, pero solo pudo reconocer 30 (quizá por que estaban con caracteres de iso-8859-1)
luego de exportar a una carpeta (lo hice al escritorio y casi cuelgo mi pequeña pc) tendrás muchos .vcf, pero necesitas uno, así que abres la linea de comandos (cmd)
y colocas copy /B *.vcf all_in_one.vcf (ejecutando el comando en la capeta).
Esto crea un único .vcf que puedes subir a http://labs.brotherli.ch/vcfconvert/index.php y bajar el .csv resultante, descarga csved para editar a gusto.
Ahora tienes un .csv que puedes usar para cualquier otro telefono. o leer con csved

BONUS:
si tu archivo fuese un .npd de samsung, cambia la extension a .mdb
habilitas el contenido y en opciones lo conviertes a .csv





de ctt a csv

25 11 2009

Después de leer en un blog todo el sufrimiento de pasar los contactos del WLmsn a thunderbird, decidí ponerme en acción y probar un poco de eso:
Transformar un .ctt(que es xml) a un csv y de la forma mas estúpida (sin expresiones regulares o cosas por el estilo)

<html>
<head>
<title>ctt a csv v1.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
body{
font-size:17px;
background-color:#EEEEEE;
}
.nbox{
font-size:18px;
background-color:#FFFFFF;
}
.dbox{
font-size:19px;
color:#00FF00;
background-color:#CAE0F0;
}
#formu{
background-color:#CAE0F0;
width:80%;
}
.halfspn{
width:50%;
}
.SL{
width:20px;
height:5px;
background-color:white;
}
.ML{
width:20px;
height:5px;
background-color:#0000FF;
}
</style>
</head>

<body>
<div id="formu">
Convertir contactos de ctt a csv
<form name="datos" method="POST">
<table>
<tr>
<td class="halfspn">Archivo</td>
<td class="halfspn">
<input type="text" name="file" value="<?php echo $_POST['file']; ?>" class="nbox">
</td>
</tr>
</table>
<input type="hidden" name="exportar" value="GO!">
<input type="submit"  value="exportar" class="dbox">
</form>
</div>
<?
if($_POST['exportar'] && $_POST['file']){
	$mydotctt = $_POST['file'];
		$ext = '.'.strtolower(end(explode(".",$mydotctt)));
		$filetodownload = str_replace( $ext, '', $mydotctt );
	$filetodownload = $filetodownload.'_'.md5(uniqid(time())).'.csv';
	$fp = fopen ($filetodownload, "w");

	if ( !is_file( $mydotctt ) || !is_readable( $mydotctt ) ) {
		echo $mydotsql . " Archivo no encontrado.<br>";
		exit();
	}
	//primero, dividir en 2 desde despues de <contactlist>
	//luego hacer lo mismo hasta </contactlist>
	//luego leer  cada linea y en cada una dividir entre el primer '">' y el ultimo '</contact>' (quiza usar regExp (conseguir ayuda))
	//aqui se suma a $csv el resultado
	$ctt = rtrim( file_get_contents( $mydotctt ) );
	$a = explode( '<contactlist>', $ctt, 2);
	$b = explode( '</contactlist>', $a[1], 2);
	$ctt = $b[0];
	$sums = explode( "\n", $ctt );
	$csv = "";unset($a);unset($b);

	$culebron = '"Title","First Name","Middle Name","Last Name","Suffix","Company","Department","Job Title","Business Street","Business City","Business State","Business Postal Code","Business Country","Home Street","Home City","Home State","Home Postal Code","Home Country","Business Fax","Business Phone","Business Phone 2","Callback","Car Phone","Company Main Phone","Home Fax","Home Phone","Home Phone 2","ISDN","Mobile Phone","Other Fax","Other Phone","Pager","Primary Phone","Radio Phone","TTY/TDD Phone","Telex","Account","Anniversary","Assistant'."'s".' Name","Billing Information","Birthday","Business Address PO Box","Categories","Children","Company Yomi","Directory Server","E-mail Address","E-mail Type","E-mail Display Name"';
	fwrite($fp, $culebron);	
	$culebron = ',"E-mail 2 Address","E-mail 2 Type","E-mail 2 Display Name","E-mail 3 Address","E-mail 3 Type","E-mail 3 Display Name","Gender","Given Yomi","Government ID Number","Hobby","Home Address PO Box","Initials","Internet Free Busy","Keywords","Language","Location","Manager'."'s".' Name","Mileage","Notes","Office Location","Organizational ID Number","Other Address PO Box","Priority","Private","Profession","Referred By","Sensitivity","Spouse","Surname Yomi","User 1","User 2","Web Page"';
	fwrite($fp, $culebron);		
	fwrite($fp, "\n");

	foreach ( $sums as $line ) {
		$a = explode( '>', $line, 2);
		$b = explode( '</contact>', $a[1], 2);
		if($b[0] == ""){continue;}
		$csv = ',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"' . $b[0] . '","SMTP",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"' . $b[0] . '",';
		fwrite($fp, $csv); fwrite($fp, "\n");
	}
	fclose($fp);
	echo "<br>CSV listo : <a href='".$filetodownload."'>".$filetodownload."</a>";
}
?>

</body>
</html>







A %d blogueros les gusta esto: