IronPython을 사용하여 데이터의 일부 처리를 수행하는 .NET 프로젝트가 있습니다. 현재 C# 코드는 동적 계산이 필요한 각 행과 열에 대해 IronPython 스크립트를 반복하고 생성합니다. 그러나 DataTable 개체와이를 실행하는 스크립트를 전달하여 프로세스를보다 효율적으로 만들고 싶습니다. 불행히도 'DataTable' object is unsubscriptable
오류이 발생하며 처리가 이루어지지 않습니다.IronPython에 DataTable 전달
C#을 생성하고 IronPython의 스크립트를 실행 니펫을 :
DataTable dt = new DataTable();
dt.Columns.Add("count", typeof(int));
dt.Columns.Add("calc", typeof(int));
dt.Rows.Add(1, null);
ScriptEngine engine = Python.CreateEngine(options);
ScriptScope scope = engine.CreateScope();
scope.SetVariable("dt", dt);
ScriptSource source = engine.CreateScriptSourceFromString(code, SourceCodeKind.AutoDetect);
object result = source.Execute(scope);
DataTable table = scope.GetVariable<System.Data.DataTable>("dt");
파이썬 스크립트는 테이블에 대해 실행되는 : 나는 'DataTable' object is unsubscriptable
오류를 수정, 또는이다 어떻게
import clr
clr.AddReference('System.Data')
from System import Data
from System.Data import DataTable
for row in dt.Rows:
dt["calc"] = dt["count"] + 1
DataTable을 IronPython에 전달하는 더 좋은 방법은 있습니까?
와우 .... ㅎ, 나는 – saluce
전혀 어리석은 생각하지 마십시오) = 지금 바보 같은 생각하지 않습니다. 파이썬이 컴파일되지 않았기 때문에 이런 종류의 실수를하는 것은 매우 쉽습니다 ... – digEmAll