C# 将DataTable传递给IronPython
我有一个.NET项目,我正在使用IronPython来执行一些数据处理。目前,C#代码循环并为需要动态计算的每一行和每一列生成一个IronPython脚本。但是,我希望通过传入DataTable对象和针对它执行的脚本来提高流程的效率。不幸的是,我得到的C# 将DataTable传递给IronPython,c#,python,.net,ironpython,C#,Python,.net,Ironpython,我有一个.NET项目,我正在使用IronPython来执行一些数据处理。目前,C#代码循环并为需要动态计算的每一行和每一列生成一个IronPython脚本。但是,我希望通过传入DataTable对象和针对它执行的脚本来提高流程的效率。不幸的是,我得到的'DataTable'对象是不可订阅的错误,并且没有进行任何处理 生成并执行IronPython脚本的C#代码段: 如何修复“DataTable”对象不可订阅的错误,或者有更好的方法处理将DataTable传递到IronPython中的问题?Dat
'DataTable'对象是不可订阅的
错误,并且没有进行任何处理
生成并执行IronPython脚本的C#代码段:
如何修复“DataTable”对象不可订阅的错误,或者有更好的方法处理将DataTable传递到IronPython中的问题?DataTable对象实际上是不可订阅的,即无法通过索引属性访问(即dt[index]
)
你可能是这个意思:
for row in dt.Rows:
row["calc"] = row["count"] + 1
我用
行
替换dt
变量一点也不觉得愚蠢。由于python没有编译,很容易犯这种简单的错误。。。
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
for row in dt.Rows:
row["calc"] = row["count"] + 1