<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-01-27 11:35 GMT+01:00 aLeX <span dir="ltr"><<a href="mailto:alex.nunez@gmail.com" target="_blank" class="fullcontact-active-email">alex.nunez@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Buenas a todos,<div>Antes de nada, decir que me llamo Alex, trabajo con Luis y que "por su culpa" estoy en esta lista de correo. No sé programar, solo intento hacer alguna chapucilla como hobby y curiosidad. El tema es que como Luis es bastante insistente con el tema python pues al final me picó el gusanillo y estoy haciendo alguna cosilla y de ahí mi consulta:</div><div><br></div></div></blockquote><div><br></div><div>Bienvenido!</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div>Para resumir: Estoy capturando datos de una web e insertándolos en una base de datos. El problema no Â es crítico y tengo un "workaround" pero me gustaría solucionarlo de otra manera. Bueno, empiezo con el tostón. </div><div><br></div><div>Uso python 3.4. Para capturar la información de la web utilizo la librería lxml y en las pruebas que estoy haciendo capturo el texto que hay en todos los <a></a> creando una lista como ['hola', 'adios']. Trás capturar toda la info trato de meterla en una base de datos mysql (con mysql.connector) y ahí me encuentro el problema:</div><div><br></div><div><div>AttributeError: 'MySQLConverter' object has no attribute '__elementunicoderesult_to_mysql'</div></div><div><br></div><div>Está claro que la codificación de la variable no le gusta al MySQL y dice que nanai. Pues e intentado mil maneras distintas de cambiar la codificación sin Ã©xito, así que al final lo que hago es "convertirla" de un modo "cutre" usando una funcion que lo que hace es deshacer la lista (join) y luego volviéndola a crear (split). Visualmente (print) queda igual pero la codificación cambia y gracias a eso ya me deja insertarla correctamente en la base de datos.</div><div><br></div></div></blockquote><div><br></div><div>Como dices después, la parte de tu código relevante seguro que ayuda.</div><div><br></div><div>Según entiendo yo, el problema consiste en como guardar una lista de Python en un campo de tipo texto MySQL.</div><div><br></div><div>Este proceso de codificación se llama *serialización*. Existen muchísimas opciones siendo una de las más populares utilizar JSON:</div><div><br></div><div><div>>>> import json</div><div>>>> l = ['hola', 'adios']</div><div>>>> type(l)</div><div><class 'list'></div><div>>>> s = json.dumps(l)</div><div>>>> s<br></div><div>'["hola", "adios"]'</div><div>>>> type(s)</div><div><class 'str'></div><div>>>> unserialize = json.loads(s)</div><div>>>> unserialize</div><div>['hola', 'adios']</div><div>>>> l == unserialize</div><div>True</div></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div>Sabéis como solucionarlo más limpiamente? alguna experiencia en algo similar?</div><div><br></div><div>Espero haberme explicado bien y que entendáis mi problema. Si es de ayuda puedo poner parte del código o lo que sea, solo os pido que no seais malos xD</div><div><br></div><div>Un saludo!</div></div>
<br>_______________________________________________<br>
Asociación Python España: <a href="http://www.es.python.org/" target="_blank">http://www.es.python.org/</a><br>
Python Vigo: <a href="http://www.python-vigo.es/" target="_blank">http://www.python-vigo.es/</a><br>
Vigo mailing list<br>
<a href="mailto:Vigo@lists.es.python.org">Vigo@lists.es.python.org</a><br>
<a href="https://lists.es.python.org/listinfo/vigo" target="_blank">https://lists.es.python.org/listinfo/vigo</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Miguel González<div><a href="mailto:migonzalvar@gmail.com" target="_blank">migonzalvar@gmail.com</a><br><div>PGP ID: 0C63761BEEBD05D3</div></div></div></div>
</div></div>