2011-05-05 11 views

cevap

1

, almak ve

array([[heading1, heading2, heading3, ...], 
     [val1, val2, val3, ...], 
      ... 
      , dtype=object) 
+1

ama lafrasu'nun başlık adlarını, 'a.dtype.names' olarak erişebileceğiniz dtype adlarına koyma fikrini seviyorum. Ardından, kodları koddaki * veya * adlarına göre dizine ekleyebilirsiniz. –

2

csr.description Bu kendi kendine genel bir fikir gösterir örnek yeten başlıklarını

+0

ben gibi bir şey elde Bu durumda, "top.description" olması gerektiğini düşünün. –

+0

ve nasıl bu verileri nasıl uyuşabilirim? – Merlin

+0

Tam olarak ne demek istediğimi tam olarak "numpy içine al" (ben sadece veri türleri, değil mi?), Ama sanırım 'np.asarray (top.description) .T [0]' ne yapacağını istemek. –

4

olmalıdır. numpy.recarray

[('a', '<i4'), ('b', '<i4'), ('c', '<i4')] 

alternatif arkadaşınız,

from sqlite3 import connect 
from numpy import asarray 

db = connect(":memory:") 
c = db.cursor() 
c.execute('create table bigtop (a int, b int, c int)') 

for v in [(1,2,3),(4,5,6),(7,8,9)]: 
    c.execute('insert into bigtop values (?,?,?)',v) 

s = c.execute('select * from bigtop') 

h = [(i[0],int) for i in c.description] 

# You can also use 'object' for your type 
# h = [(i[0],object) for i in c.description] 

a = asarray(list(s),dtype=h) 

print a['a'] 

ilk sütunu verir

print a.dtype 

her sütunun adını ve türünü verir

[1 4 7] 

ve, olduğu eğer kullandıysan türünüze olarak object, size dizideki ilk satır olarak sütun adlarını istese,

top = csr.execute("Select * from bigtop") 
d=list(top) 
a = np.asarray([[x[0] for x in top.description]] + d, dtype='object') 

yapacağını

[('a', '|O4'), ('b', '|O4'), ('c', '|O4')] 
+1

Daha sonra olduğu gibi, [piller] (http://www.pytables.org/moin) veya [h5py] (http://code.google.com/p/h5py/) gibi bir şey düşünmek isteyebilirsiniz. sayısal tip verileri saklamak istiyorsunuz. Özellikle 'numpy' desteğini istiyorsanız. – lafras

+0

@ user428862: Doğru, tablonun ilk sütunu. – lafras

+0

@lafrasu. pls tekrar q okuyun. Sql başlıklarını dizinin parçası olarak istiyorum. Ex olarak. a, b, c – Merlin