2017-08-17 10 views
-1

CSVシートから読み込み時に整数エラーが発生します。それは私に最後の列を読んでいる問題を与える。私は最後の列のtheresの文字を知っているが、どのように私は文字としてdigitを定義するのですか?その関数(配列の3番目の要素)に以下に示すようにAPI関数psspy.two_winding_chg_4は、単一引用符' 'を使用して入力を要求変数を一重引用符で囲む

excel sheet

Traceback (most recent call last): 
File "C:\Users\RoszkowskiM\Desktop\win4.py", line 133, in <module> 
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],[]) 
File ".\psspy.py", line 25578, in two_winding_chng_4 
TypeError: an integer is required 
ValueError: invalid literal for int() with base 10: 'T1' 

コード:

for row in data: 
    data_location, year_link, from_, to, min_value,max_value,name2,tla_2,digit = row[5:14] 
    output = 'From Bus #: {}\tTo Bus #: {}\tVMAX: {} pu\tVMIN: {} pu\t' 
    if year_link == year and data_location == location and tla_2==location: 
     from_=int(from_) 
     to=int(to) 
     min_value=float(min_value) 
     max_value=float(max_value) 
     digit=int(digit) 
     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],[]) 
+0

「T1」は文字列です。それをintにキャストするには 'T 'を削除する必要があります。この場合、その文字列の最後の要素を取ることができます。 ' – Alex

答えて

0

最も簡単で可能性最も有用なオプションは、独自の関数を使用して数字のみをフィルタリングすることです。例:

def return_digits(string): 
    return int(''.join([x for x in string if x.isdigit()])) 
+0

'致命的:回線識別子が2文字以上(002069) トレースバック(最新のコール最後): psspy.two_winding_chng_4(from_、to、 "'{}')。書式(数字)、[_ 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、max_value、min_value、_f、_f、_f]、[]) ファイル "。\ psspy.py"、行25535、in two_winding_chng_4 psspy.Two_Winding_Chng_4Error:two_winding_chng_4エラー:ierr = 2 Pythonファイルを開くことができませんでした:C:\ Users \ RoszkowskiM \ Desktop \ win4.py Pythonファイルを実行中:C:\ Users \ RoszkowskiM \ Desktop \ win4 .py' – Mark

+0

申し訳ありませんが、休日に数日間でした。明らかに、これは列 'N'のようにデータを含む列にのみ適用する必要があります。しかしこれはAPIから来ているようです。そこに実装する必要があります。奇妙なことに、ファイルエラーが発生します... – Troma78

関連する問題