C# 将DataTable传递给IronPython

C# 将DataTable传递给IronPython,c#,python,.net,ironpython,C#,Python,.net,Ironpython,我有一个.NET项目,我正在使用IronPython来执行一些数据处理。目前,C#代码循环并为需要动态计算的每一行和每一列生成一个IronPython脚本。但是,我希望通过传入DataTable对象和针对它执行的脚本来提高流程的效率。不幸的是,我得到的'DataTable'对象是不可订阅的错误,并且没有进行任何处理 生成并执行IronPython脚本的C#代码段: 如何修复“DataTable”对象不可订阅的错误,或者有更好的方法处理将DataTable传递到IronPython中的问题?Dat

我有一个.NET项目,我正在使用IronPython来执行一些数据处理。目前,C#代码循环并为需要动态计算的每一行和每一列生成一个IronPython脚本。但是,我希望通过传入DataTable对象和针对它执行的脚本来提高流程的效率。不幸的是,我得到的
'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