3

次のコードは、必要な機能を提供します。ただし、64000行の200個の変数を含むテーブルの場合は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[:] は時間消費者です。それ以外の場合、提案されたコードは、プレフィックスなしで tablename 変数へのアクセスを提供します。変数の名前空間を単純化するこの方法を使用することは、自明のコードには向いていない可能性があるため、問題があることが認められています。

于 2010-11-29T13:10:34.220 に答える