您好,我想要用c#讀取txt傳到python上面做運算,但是會出現IronPython.Runtime.Exceptions.ValueErrorException: 'invalid literal for float(): .' 這個error,這是我放在txt裡面的值
這是c#的程式碼
string line;
System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\wkj88\Desktop\teraterm.txt");
while ((line = file.ReadToEnd()) != null)
{
ScriptRuntime pyRunTime = Python.CreateRuntime();
dynamic obj = pyRunTime.UseFile(@"C:\Users\wkj88\hello.py");
Console.Write(obj.welcome(line));
}
file.Close();
Console.ReadKey();
這是python的
def welcome(rms):
a = rms.replace('\r\n','')
float_lst = [float(x) for x in a]
return sum(float_lst)
麻煩大家了!!
ValueErrorException
從TXT 檔案取出來的值 有問題
最後''空值 ,要轉成 float,所以就丟出ValueErrorException
或者 "1.12.23.34.45.56.67.78.8" 要轉成float,
就丟出ValueErrorException
您好 那我應該把值改成哪種形式的呢? 因為我需要用浮點數來做運算
我沒有寫 python
不過 ==> a = rms.replace('\r\n','')
應該是用 split 方式處理
將一串"1.12.23.34.45.56.67.78.8" 用 split
拆成
1.1
2.2
3.3
4.4...
replace 是取代掉
EX:
"12345".replace('34','ABC') ==>"12ABC5"