Trasladarse de aNobii a Goodreads

829 de agosto de 2010, , , ,

Llevaba una temporada planteándome la posibilidad de pasar de aNobii a Goodreads, dos aplicaciones para apuntar nuestros libros y llevar un registro de lo que hemos leído, queremos leer, etc. El principal problema a la hora de tomar este tipo de decisiones, aparte de si la aplicación es convincente o no (Goodreads todavía no tiene aplicación oficial para Android, pero sí para iPhone, así que espero que sea cuestión de tiempo), suele ser la posibilidad de transferir la información de un sitio a otro de una manera relativamente sencilla.

En este caso, a la pregunta de si existe una manera relativamente sencilla de transferir la información que tenemos en aNobii a Goodreads, la respuesta es sí, pero. Es decir, sí se puede hacer de una manera relativamente sencilla (gracias al script de Giacomo Lacava), pero requiere algunos retoques que comparto a continuación.

  1. Exportar librería desde aNobii. Seleccionar “My shelf” y formato CSV. El archivo de exportación llegará por email.
  2. En el archivo original exportado desde aNobii (se puede abrir con OpenOffice Spreadsheet o MS Office Excel), vaciar todo el contenido de la columna “Publication date” (GoodReads lo rellenará automáticamente de sus propias bases de datos). Guardarlo como anobii.csv
  3. Descargar el script anobii-to-goodreads.py y modificar las filas 2 y 3 de ese archivo, con las rutas absolutas al archivo de exportación modificado y al archivo de destino, respectivamente (anobii.csv e import_to_goodreads.csv, por ejemplo).
  4. Ejecutar el script con el comando python anobii-to-goodreads.py (o el equivalente en otro sistema operativo que no sea Linux). Si todo va bien, este script generará un segundo archivo CSV, llamado import_to_goodreads.csv
  5. Si utilizamos este archivo para importarlo a GoodReads, añadirá todos los libros y la valoración que le hayamos dado en aNobii, en la librería “read”. Si te vale con esto, puedes dejar de leer aquí e importar el archivo sin más. Sin embargo, es posible añadir alguna información más con unos cambios relativamente sencillos en este segundo archivo.
  6. Al abrir el archivo vemos que ha hecho una cosa rara con los títulos de los libros; no importa demasiado, porque GoodReads cogerá la información de sus bases de datos según el ISBN. Lo que sí podemos hacer es traer las etiquetas para importarlas a GoodReads: copiar la columna Tags del archivo anobii.csv y pegarla en la columna Bookshelves del archivo import_to_goodreads.csv (sin olvidar mantener el nombre de la columna como Bookshelves). Sobra el separador de las etiquetas, así que seleccionamos toda la columna, Editar > Buscar y reemplazar... y buscamos ” / ” (sin comillas: espacio+/+espacio) y lo reemplazamos con ” ” (sin comillas: espacio), Sólo en la selección actual (en Más opciones).
  7. También podemos recuperar la fecha en la que hemos leído los libros, aunque esto nos llevará algo más de trabajo. Esta información tiene que ir en la columna Date Read del archivo import_to_anobii.csv con formato MM/DD/AA. Para esto, copiar la columna Status del archivo anobii.csv después de la última columna del archivo import_to_goodreads.csv (columna T).
    1. Etiquetar los libros que no hemos leído. En la siguiente columna (U), utilizar la siguiente formula en la primera fila =SI(ENCONTRAR("Finished";T2);x;T2) y extenderla al resto de filas. Esto devolverá un error si la columna U no contiene el texto «Finished», y copiará su contenido si lo contiene. En la siguiente columna (V), utilizar la siguiente fórmula en la primera fila =SI(ESTEXTO(U2);U2;"") y extenderla al resto de filas. Esto deja en blanco las celdas con el error #VALOR!. Copiar esta columna (V) y pegarla en la columna T, utilizando Editar > Pegado especial para pegar sólo los resultados y no las fórmulas.
    2. Buscar y reemplazar «Finished on » y «Finished in » por nada (campo Reemplazar vacío); es importante añadir un espacio después de «on » e «in », para que se formateen las fechas automáticamente. Funcionará para la mayoría de los casos, pero si tenemos la aplicación en español habrá que traducir algunas abreviaturas de meses: Jan a Ene, Aug a Ago, Dec a Dic… Esto nos deja todas las fechas con el formato DD/MM/AA. Para terminar, modificar el formato de las celdas para que las fechas estén en el formato correcto: seleccionar toda la columna,clic con el botón derecho, Formatear celdas, Categoría: Fecha y en Código del formato: MM/DD/AA.
    3. Ahora ya podemos copiar el contenido de esta columna (T) y pegarlo en la columna Date Read (L). También conviene borrar el contenido de las columnas extra que hemos ido creando (desde la T en adelante).
    4. Para terminar, también podemos indicar qué libros no hemos leído. En Goodreads esto se hace mediante Bookshelves, el equivalente de las etiquetas en aNobii. Existen algunas bookshelves “exclusivas”, en el sentido de que son autoexcluyentes, que se utilizan para indicar el estado de lectura. Por defecto Goodreads aplica la etiqueta read a todos los libros a no ser que lleven alguna otra etiqueta exclusiva, así que lo primero es crear una etiqueta exclusiva en Goodreads llamada unread. Después añadiremos la etiqueta a los libros sin una fecha de lectura: otra vez en la columna T, utilizamos la siguiente fórmula en la primera fila =SI(ESBLANCO(N2);SI(ESBLANCO(L2);"unread";" ");SI(ESBLANCO(L2);CONCATENAR(N2;" unread");N2)) y la copiamos al resto de celdas. Copiar el contenido de la columna T y pegarlo (Pegado especial, sin fórmulas) en la columna N, la correspondiente a Bookshelves.
  8. Ahora sí, podemos importar el archivo import_to_goodreads.csv. Goordreads empezará a importar nuestros libros. El mensaje «note: We weren’t able to parse your file correctly, and have scanned it for ISBN numbers. While this will work, no meta-data will be imported (reviews/ratings/shelves). Making sure to save your file as a CSV often helps correct this.» significa que ha habido algún error con el archivo; seguramente se importarán correctamente los libros, pero no entrarán las fechas de lectura ni las etiquetas. Lo más probable es que esto ocurra por algún problema con el formato de la fecha (el correcto es MM/DD/AA). Si no vemos este mensaje, todo ha ido OK. ¡Felicidades!

En esa misma pantalla, en Status of your imports, iremos viendo cómo va la importación. Es posible que haya algunos libros que no se puedan importar, pero generalmente serán pocos; habrá que pasarlos manualmente. Tampoco estará de más revisar las cantidades totales de libros leídos, sin leer etc., para compararlos con aNobii. En mi caso han sido pequeñas cosas, así que me he ahorrado un tiempo considerable tuneando el archivo para importarlo automáticamente. Espero que te sirva.

8 comentarios Feed de comentarios

  1. Miren Berasategi (29 agosto, 2010, 18:12). Responder

    Trasladarse de @aNobii a @Goodreads #how-to http://bit.ly/dwbCjm Exportar/importar, fácil, sencillo y para toda la familia… o casi.

  2. Miren Berasategi (29 agosto, 2010, 18:13). Responder

    Trasladarse de @aNobii a @Goodreads #howto http://bit.ly/dwbCjm Exportar/importar, fácil, sencillo y para toda la familia… o casi.

  3. neregauzak (30 agosto, 2010, 0:35). Responder

    Ahora, otro post para explicar a los windows-eros como pueden llevar a cabo el paso 3 XDDD

    • mberasategi (29 agosto, 2010, 22:36). Responder

      Bah, los Windowseros son perfectamente capaces de averiguarlo por sí solos… :P

  4. Manu (6 octubre, 2010, 19:17). Responder

    Mira qué how-to más majo me ha pasado Jordi para importar la biblioteca de #aNobii en #GoodReads: http://bit.ly/9098Cx

  5. Jordi B. (6 octubre, 2010, 19:27). Responder

    Lista de problemas (y soluciones, donde corresponda):

    1. Si abro el CSV en Excel para borrar la columna, me guarda el CSV en ANSI y se me corrompe el archivo. OpenOffice y Google Spreadsheets no corrompen el archivo.
    2 La ruta absoluta de las líneas 2 y 3 del script hay que ponerla con las barras invertidas escapadas en Python. Es decir, dos barras en lugar de una. Al menos es así en Python 2.7 bajo Windows 7.
    3. El script se quejaba de “list index out of range”. Me imaginaba que el archivo era demasiado grande, así que lo he partido en archivos de 99 registros. Nada, se sigue quejando. ¿Alguna sugerencia?

  6. Jordi B. (6 octubre, 2010, 23:35). Responder

    Vale, mea culpa. Donde ponía “vaciar todo el contenido de la columna Publication date” he leído “eliminar la columna Publication date”. ¡Si es que hay que leer!

    ¡Gracias por el tuto!

    • mberasategi (15 noviembre, 2010, 19:58). Responder

      Me alegro de que hayas conseguido solucionar tus problemas, y gracias por compartirlos ;)

Añadir un comentario

 
Probando