我正在使用 UiPath Python Activities Pack 调用 python 函数(获取 Python 对象)并返回一个 DataFrame 以便在 UiPath 中使用它。遗憾的是,UiPath 无法将 DataFrame 转换为 .Net 数据类型,如 DataTable。
即使我尝试将 DataFrame 转换为任何其他格式(字符串、numpy 数组、html 等),它也无法正常工作,尽管文档明确提到支持所有数据类型。 Python 脚本执行其工作并将 DataFrame 的内容存储在 Excel 文件中,当然,我可以只读取 Excel 文件。我只是想知道是否有一种方法可以直接将数据传递给 UiPath,而不是先保存并再次读取。
请您参考如下方法:
实际上,我在这上面花了很多时间,但最终想出了如何将 pandas DataFrame 传递给 UiPath 并使其在 dataTable 中可用。我在下面解释了我是如何做到的:
Python 脚本:
我让我在 UiPath“调用 Paython 方法”事件中调用的 python 函数将 pandas 数据帧作为 JSON 字符串返回,即return df.to_json(orient='records')获取 Python 对象:
将JSON字符串保存在字符串类型的变量中反序列化 JSON:
选择“System.Data.DataTable”作为 TypeArgument,并将结果存储在 dataTable 类型的变量中
现在,来自 pandas dataFrame 的数据在 Uipath 的 .Net dataTable 中可用。
