Numpy-Array nach base64 und zurück zu Numpy-Array - Python

Ich versuche nun herauszufinden, wie ich wiederherstellen können ein numpy-array base64-Daten. Diese Frage und Antwort hin, es ist möglich: Lesen numpy-arrays außerhalb von Python aber ein Beispiel, ist nicht gegeben.

Den code unten ein Beispiel, wie bekomme ich ein Numpy-array aus dem base64-Daten, wenn ich weiß, die "dtype" und die Form des Arrays?

import base64
import numpy as np

t = np.arange(25, dtype=np.float64)
s = base64.b64encode(t)
r = base64.decodestring(s)
q = ????? 

Ich möchte eine python-Anweisung zum festlegen q wie ein numpy-array von dtype float64 so das Ergebnis ist eine Matrix, die identisch zu t ist. Dies ist, was die arrays kodiert und dekodiert so Aussehen:

>>> t = np.arange(25,dtype=np.float64)
>>> t
array([  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,
    11.,  12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.,  20.,  21.,
    22.,  23.,  24.])
>>> s=base64.b64encode(t)
>>> s
'AAAAAAAAAAAAAAAAAADwPwAAAAAAAABAAAAAAAAACEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAGEAAAAAAAAAcQAAAAAAAACBAAAAAAAAAIkAAAAAAAAAkQAAAAAAAACZAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACxAAAAAAAAALkAAAAAAAAAwQAAAAAAAADFAAAAAAAAAMkAAAAAAAAAzQAAAAAAAADRAAAAAAAAANUAAAAAAAAA2QAAAAAAAADdAAAAAAAAAOEA='
>>> r = base64.decodestring(s)
>>> r
'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x18@\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00 @\x00\x00\x00\x00\x00\x00"@\x00\x00\x00\x00\x00\x00$@\x00\x00\x00\x00\x00\x00&@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00*@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x00.@\x00\x00\x00\x00\x00\x000@\x00\x00\x00\x00\x00\x001@\x00\x00\x00\x00\x00\x002@\x00\x00\x00\x00\x00\x003@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x005@\x00\x00\x00\x00\x00\x006@\x00\x00\x00\x00\x00\x007@\x00\x00\x00\x00\x00\x008@'
>>> q = np.array( ????

Den Grund ich Frage ist, weil ich arbeite an einem Projekt, wo ich möchte, zum speichern einer Menge von Numpy-arrays in einer MySQL-Datenbank in eine app powered by django.

Verwendung dieser django-snippet kann ich speichern base64-Daten in einem textfield: http://djangosnippets.org/snippets/1669/

Möchte ich schreiben, die arrays in die Datenbank als base64-anstelle der Umwandlung des arrays in eine Zeichenfolge von unicode.

Vielen Dank für Ihre Hilfe.

InformationsquelleAutor der Frage sequoia | 2011-06-26

Schreibe einen Kommentar