以下代码提供了我所需的功能;但是,对于包含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列名称动态建立命名空间的最佳方法。
答案 0 :(得分:1)
正如unutbu所建议的那样,表副本a = table [:]是时间消费者。建议的代码确实提供了对没有前缀的tablename变量的访问。人们承认,使用这种简化变量名称空间的方法是值得怀疑的,因为它可能不适用于不言自明的代码。