Python - Almacenar Array en sqlite

   
Vista:
Imágen de perfil de Pepe

Almacenar Array en sqlite

Publicado por Pepe (15 intervenciones) el 11/07/2017 13:48:55
Hola a todos,

Necesito almacenar el siguiente tipo de dato en una base de datos:

[ 3.50272050e-03 1.86280906e-01 1.00468934e-01 -4.33147140e-02
-1.27329051e-01 4.33901623e-02 -2.11366657e-02 -8.63191560e-02
6.91716149e-02 -6.07744306e-02 2.42556646e-01 -4.43685986e-02
-2.62478620e-01 -4.81211953e-02 5.54667152e-02 1.31387427e-01
-1.47533119e-01 -6.18638545e-02 -2.05827996e-01 -7.17304498e-02
-2.84332838e-02 -3.12169027e-02 3.53655964e-02 -8.13107491e-02
-1.85287386e-01 -2.27776587e-01 -4.25211713e-02 -1.10385388e-01
-7.82980584e-03 -1.58329815e-01 5.70325181e-02 -3.66095901e-02
-1.37291819e-01 -5.45248874e-02 -4.89752442e-02 -4.14648280e-02
-2.60936487e-02 -5.94726056e-02 1.30019799e-01 2.25483254e-02
-1.70899525e-01 1.23070851e-01 -1.95044279e-03 1.97357997e-01
3.00101578e-01 -1.10896509e-02 5.02515137e-02 -1.21732414e-01
1.33466795e-01 -2.42934242e-01 6.43434376e-02 2.91250199e-02
1.66741505e-01 6.23381324e-02 1.40226275e-01 -8.94589424e-02
2.75687166e-02 1.66198120e-01 -2.02103034e-01 4.20526229e-02
6.84002787e-02 -4.07023169e-02 2.89138556e-02 -3.56003679e-02
1.19167335e-01 1.09950349e-01 -1.23615190e-02 -1.05374277e-01
1.77154809e-01 -1.07350565e-01 -1.02651745e-01 3.52491178e-02
-6.46510124e-02 -1.25385836e-01 -3.33884329e-01 6.29422721e-03
2.61878073e-01 1.49628893e-01 -2.80607074e-01 -7.87457377e-02
-5.95789999e-02 1.45622576e-03 3.52818891e-02 1.84808485e-03
-6.09225482e-02 -1.35765895e-01 -5.00764959e-02 -1.28809493e-02
2.28850797e-01 -1.14433073e-01 -5.42053021e-05 2.28072464e-01
3.85657772e-02 -1.27013683e-01 4.38626446e-02 -2.43116058e-02
-1.22589454e-01 -2.66637420e-03 -1.06824003e-01 -4.74077314e-02
-1.28065636e-02 -1.58787668e-01 -1.36401914e-02 7.41121769e-02
-2.61242121e-01 1.65435761e-01 -3.44777890e-02 -7.11346492e-02
-4.62578163e-02 -5.15225157e-02 1.07353171e-02 6.29713088e-02
2.37098202e-01 -2.35442325e-01 2.04655081e-01 2.32554898e-01
-4.70813587e-02 6.83962628e-02 2.55878158e-02 5.89431189e-02
-3.76358256e-02 3.94110084e-02 -8.87133852e-02 -1.08040214e-01
4.27735038e-04 -3.26219536e-02 1.18450485e-02 7.24220276e-02]

Lo he intentado almacenar en una base sqlite como tipo de dato BOLD y VARCHAR, pero al leer el dato obtengo lo siguiente:

b'\x00\x00\x00\xc0\xbc\xb1l?\x00\x00\x00\x80\r\xd8\xc7?\x00\x00\x00\x00U\xb8\xb9?\x00\x00\x00\xa0X-\xa6\xbf\x00\x00\x00\x80QL\xc0\xbf\x00\x00\x00@<7\xa6?\x00\x00\x00\xa0\xd9\xa4\x95\xbf\x00\x00\x00 \x03\x19\xb6\xbf\x00\x00\x00 ;\xb5\xb1?\x00\x00\x00\x80\xd3\x1d\xaf\xbf\x00\x00\x00\xa0\x18\x0c\xcf?\x00\x00\x00 {\xb7\xa6\xbf\x00\x00\x00 s\xcc\xd0\xbf\x00\x00\x00`W\xa3\xa8\xbf\x00\x00\x00 "f\xac?\x00\x00\x00\xa0M\xd1\xc0?\x00\x00\x00\x80]\xe2\xc2\xbf\x00\x00\x00\x80\x9e\xac\xaf\xbf\x00\x00\x00`\x92X\xca\xbf\x00\x00\x00@\xed\\\xb2\xbf\x00\x00\x00`\x9d\x1d\x9d\xbf\x00\x00\x00\xe0R\xf7\x9f\xbf\x00\x00\x00\x80p\x1b\xa2?\x00\x00\x00\x00\xc8\xd0\xb4\xbf\x00\x00\x00@\x7f\xb7\xc7\xbf\x00\x00\x00\x80\xc8\'\xcd\xbf\x00\x00\x00\xc0U\xc5\xa5\xbf\x00\x00\x00\x807B\xbc\xbf\x00\x00\x00\xc0\x12\t\x80\xbf\x00\x00\x00\xc0&D\xc4\xbf\x00\x00\x00\xc0]3\xad?\x00\x00\x00\x00~\xbe\xa2\xbf\x00\x00\x00@\xc7\x92\xc1\xbf\x00\x00\x00\xa0\xaf\xea\xab\xbf\x00\x00\x00\x80H\x13\xa9\xbf\x00\x00\x00\xc0\xe0:\xa5\xbf\x00\x00\x00 K\xb8\x9a\xbf\x00\x00\x00\x801s\xae\xbf\x00\x00\x00 }\xa4\xc0?\x00\x00\x00\x80\xe8\x16\x97?\x00\x00\x00 \t\xe0\xc5\xbf\x00\x00\x00@\x92\x81\xbf?\x00\x00\x00\x00\xc0\xf4_\xbf\x00\x00\x00\xe0\x06C\xc9?\x00\x00\x00@\xdd4\xd3?\x00\x00\x00\xc0+\xb6\x86\xbf\x00\x00\x00\x00\x91\xba\xa9?\x00\x00\x00\x00\xdb)\xbf\xbf\x00\x00\x00\xa0p\x15\xc1?\x00\x00\x00 x\x18\xcf\xbf\x00\x00\x00\xc0\xcfx\xb0?\x00\x00\x00\x00\xf3\xd2\x9d?\x00\x00\x00 \xc9W\xc5?\x00\x00\x00\xa0\xc8\xea\xaf?\x00\x00\x00@\xef\xf2\xc1?\x00\x00\x00\x00\xc8\xe6\xb6\xbf\x00\x00\x00@\xf9:\x9c?\x00\x00\x00\xe0\xfaE\xc5?\x00\x00\x00 \x83\xde\xc9\xbf\x00\x00\x00\xe0\xeb\x87\xa5?\x00\x00\x00@\xae\x82\xb1?\x00\x00\x00 \xef\xd6\xa4\xbf\x00\x00\x00\x00\x98\x9b\x9d?\x00\x00\x00 6:\xa2\xbf\x00\x00\x00 \xc0\x81\xbe?\x00\x00\x00\xc0\xb4%\xbc?\x00\x00\x00\x00\xffP\x89\xbf\x00\x00\x00\x00\xcf\xf9\xba\xbf\x00\x00\x00@\x02\xad\xc6?\x00\x00\x00\xa0S{\xbb\xbf\x00\x00\x00\x80bG\xba\xbf\x00\x00\x00 ,\x0c\xa2?\x00\x00\x00\x00\xf8\x8c\xb0\xbf\x00\x00\x00\xa0\xa4\x0c\xc0\xbf\x00\x00\x00`\\^\xd5\xbf\x00\x00\x00\xc0\xf9\xc7y?\x00\x00\x00@\x9c\xc2\xd0?\x00\x00\x00 \n\'\xc3?\x00\x00\x00`w\xf5\xd1\xbf\x00\x00\x00@\xae(\xb4\xbf\x00\x00\x00\x80#\x81\xae\xbf\x00\x00\x00\x80\xda\xdbW?\x00\x00\x00\xc0w\x10\xa2?\x00\x00\x00\x00nG^?\x00\x00\x00\x80=1\xaf\xbf\x00\x00\x00\xe0\xc6`\xc1\xbf\x00\x00\x00`\xa0\xa3\xa9\xbf\x00\x00\x00\xc0Sa\x8a\xbf\x00\x00\x00\xa0\xfbJ\xcd?\x00\x00\x00`|K\xbd\xbf\x00\x00\x00\x00Pk\x0c\xbf\x00\x00\x00\x80z1\xcd?\x00\x00\x00\xc0\xe4\xbe\xa3?\x00\x00\x00\x00\xfcA\xc0\xbf\x00\x00\x00 *u\xa6?\x00\x00\x00@$\xe5\x98\xbf\x00\x00\x00\xc0\x05b\xbf\xbf\x00\x00\x00\xc0\xca\xd7e\xbf\x00\x00\x00`\xd1X\xbb\xbf\x00\x00\x00\x80\xd3E\xa8\xbf\x00\x00\x00\xe0S:\x8a\xbf\x00\x00\x00\x80\'S\xc4\xbf\x00\x00\x00\x80c\xef\x8b\xbf\x00\x00\x00\x00\x04\xf9\xb2?\x00\x00\x00\xe00\xb8\xd0\xbf\x00\x00\x00\xc0\xff,\xc5?\x00\x00\x00\xa0\x12\xa7\xa1\xbf\x00\x00\x00`\xe15\xb2\xbf\x00\x00\x00\xc0\x1a\xaf\xa7\xbf\x00\x00\x00\xc0(a\xaa\xbf\x00\x00\x00\xe0e\xfc\x85?\x00\x00\x00@\xe3\x1e\xb0?\x00\x00\x00\xe0;Y\xce?\x00\x00\x00`\xf9"\xce\xbf\x00\x00\x00@#2\xca?\x00\x00\x00\xe0[\xc4\xcd?\x00\x00\x00@\x0c\x1b\xa8\xbf\x00\x00\x00\xe0j\x82\xb1?\x00\x00\x00@\xb13\x9a?\x00\x00\x00\xe0\xca-\xae?\x00\x00\x00\xc0\x00E\xa3\xbf\x00\x00\x00\x00\xae-\xa4?\x00\x00\x00\xa0\xeb\xb5\xb6\xbf\x00\x00\x00\x00\x86\xa8\xbb\xbf\x00\x00\x00\x004\x08<?\x00\x00\x00 \xd3\xb3\xa0\xbf\x00\x00\x00\x807B\x88?\x00\x00\x00\x00@\x8a\xb2?'

Alguien sabe como podria almacenar ese tipo de datos en una base de datos y despues recuperarlo con el mismo formato?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

Almacenar Array en sqlite

Publicado por kip (242 intervenciones) el 13/07/2017 02:59:35
Hola, en tu caso te recomendaria usar la libreria pickle que ofrece python, un ejemplo:

Asi 'serializarias' una lista:
1
2
3
import pickle
listaSerializada = pickle.dumps([1,2,3,4])
print(listaSerializada)

Y con aquel dato lo que harias es almacenarlo en alguna columna tipo BLOB

Luego cuando quieras obtener el valor a partir de la consulta a tu BD, usarias el metodo loads()

1
2
3
4
import pickle
listaSerializada = pickle.dumps([1,2,3,4])
listaNoSerializada = pickle.loads(listaSerializada)
print('Lista %s' % listaNoSerializada)

Intenta probarlo y nos cuentas!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Pepe

Almacenar Array en sqlite

Publicado por Pepe (15 intervenciones) el 13/07/2017 07:37:33
Muchísimas gracias, funciona perfectamente. Algo tan fácil y los dolores de cabeza que da....ja ja
No hay nada como saber.... Muchas gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad