3

以下代码提供了我需要的功能;但是,对于包含 200 个变量和 64000 行的表来说,需要花费 10 多秒的时间。是否有更有效的方法来创建与列名匹配的变量命名空间?

strExec = "a = table[:]"  
for colobj in table.description._f_walk(type="Col"):  
    colName = colobj._v_pathname  
    strExec = strExec + '\n' + colName + " = a['" + colName + "']"  
exec(strExec)  

代码将在分析环境中执行,占最终用户等待时间的很大一部分;所以,我想确认这是实现基于 PyTable 列名动态建立命名空间的最佳方式。

4

1 回答 1

1

正如 unutbu 所建议的,表副本 a=table[:] 是时间消费者。建议的代码确实提供了对不带前缀的表名变量的访问。众所周知,使用这种简化变量命名空间的方法是有问题的,因为它可能不适合不言而喻的代码。

于 2010-11-29T13:10:34.220 回答