Python 使用cython模块中的Pytable

Python 使用cython模块中的Pytable,python,cython,pytables,Python,Cython,Pytables,我正在解决一组耦合ODE,面临两个问题:速度和内存存储。因此,我使用cython\u gsl创建一个模块来解决我的ODE问题。到目前为止,我只是将数据写入一个.txt文件,但我认为使用PyTables会更有用 因此,我在.pyx文件中定义了如下内容 from cython_gsl cimport * from tables import * def main (parameters for run ): class vector(IsDescription): name= Strin

我正在解决一组耦合ODE,面临两个问题:速度和内存存储。因此,我使用
cython\u gsl
创建一个模块来解决我的ODE问题。到目前为止,我只是将数据写入一个
.txt
文件,但我认为使用
PyTables
会更有用

因此,我在
.pyx
文件中定义了如下内容

from cython_gsl cimport *
from tables import *

def main (parameters for run ):

class vector(IsDescription):
    name= StringCol(16)                     # 16-character String
    i  = Int32Col()                 # 32-bit integer
    j  = Int32Col()             # 32-bit integer
    k  = Int32Col()             # 32-bit integer

h5file = tables.openFile("tutorial1.h5", mode = "r", title = "Test file")
group = h5file.createGroup("/", 'spin_vectors',"Spin vectors of the crust and core")
table = h5file.createTable(group, 'shellvector', vector, "  ")


... Setup the ODEs ...

while (t < t1):
    status = gsl_odeiv_evolve_apply (e, c, s, &sys, &t, t1, &h, y)

    if (status != GSL_SUCCESS):
        break

    #write_file.write("%.16e %.16e %.16e %.16e %.16e %.16e %.16e\n" %(t, y[0], y[1],y[2],y[3], y[4],y[5]) ) 
        shell_table.row['i']=y[0]
        shell_table.row['j']=y[1]
        shell_table.row['k']=y[2]
            shell_table.row.append()

shell_table.flush()

我相信这是一件很有趣的事。因此,它似乎没有被正确导入?虽然我认为这是一个很好的方法,如果有人对如何处理python/cython中的数据有更好的建议,我会很高兴听到……谷歌几乎什么都没有

不幸的是,这里没有足够的信息来回答您的问题。你想做的应该会起作用。然而,我不认为这个错误来自PyTables(它没有任何单独的“Int32”类,尽管它有一个“Int32Atom”和一个“Int32Col”)。我怀疑这是CythonGSL的。有没有什么方法可以让你发布完整的回溯——而不仅仅是最后一个错误——这样我们就可以确定了

NameError: Int32