2017-08-15 6 views
0

に格納することは、Excelファイルからデータを読み込み、psspy関数に転送するコードの一部です。 _i および_fについては、変数ではないというエラーが表示されます。しかし、私はPSSEにibdevを実行してこのコードを受け取りました。これを変更する方法はありますか?私はAPIのデフォルト変数を使ってみましたが、うまくいきませんでした。配列の3番目の要素についても、変数を文字列に入れようとしているので、Excelシートの複数の文字をループすることができます。それはそれを行う正しい方法ですか?この特定の機能と機能のためのAPIが添付されています。 API 1API 2API 3iとfは変数ではありません。変数を文字列

for row in data: 
    data_location, year_link, from_, to, max_value, min_value,digit = row[5:12] 
    output = 'From Bus #: {}\tTo Bus #: {}\tVMAX: {} pu\tVMIN: {} pu\t' 
     if year_link == year and data_location == location: 
     print(output.format(from_, to, max_value, min_value)) 

     psspy.two_winding_chng_4(from_,to,'%s'%digit,[_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f],[]) 
+0

iとfに値 –

+0

を割り当ててみてください。できません。これらの値は変更しないでください。一部の値は配列の各要素で異なります。 – Mark

+0

値が異なる場合は、実際には異なる値を指定する必要があります。それらはあなたの関数への入力であり、あなたはそれらを定義していません – user3080953

答えて

0

_i、_f、_sとは、それぞれ、デフォルトのint型、float型、および文字列値のプレースホルダです。 PSSE APIのドキュメントはこれを明確にする上で素晴らしい仕事をしませんが、これらのデフォルト値では、各パラメータに値を割り当てる必要なく、特定の関数パラメータをカスタマイズすることができます。

最も簡単な解決策は、以下をインポートすることです:

また
from psspy import _i 
from psspy import _f 
from psspy import _s 

、あなたは以下の行を追加することができます

for row in data: 
    data_location, year_link, from_, to, max_value, min_value,digit = row[5:12] 
    output = 'From Bus #: {}\tTo Bus #: {}\tVMAX: {} pu\tVMIN: {} pu\t' 
     if year_link == year and data_location == location: 
     print(output.format(from_, to, max_value, min_value)) 
     _i = psspy.getdefaultint() 
     _f = psspy.getdefaultreal() 
     psspy.two_winding_chng_4(from_,to,'%s'%digit,[_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f],[]) 

を私は_sのための呼び出しを知らないが、それはめったにありませんAPI関数で使用されます。お役に立てれば。

関連する問題