你好,
我有一个 Python 脚本,会返回一个字符串列表。应该选择哪个选项将 Python 对象转换为 .NET 类型?一般来说,有没有什么经验法则可以说明不同的 Python 类型该选择哪种类型?
谢谢!
你好,
我有一个 Python 脚本,会返回一个字符串列表。应该选择哪个选项将 Python 对象转换为 .NET 类型?一般来说,有没有什么经验法则可以说明不同的 Python 类型该选择哪种类型?
谢谢!
你好 @ivory_le,
首先,使用 Invoke Python method 活动来运行 Python 代码。调用方法的结果会存储在 PythonObject 变量中。之后可以使用 Get Python Object 活动进一步处理,并将其转换为 .NET 数据类型。
嗨,我使用了 Get Python Object,但遇到了这个错误
在 Test.xaml 中
位于 InvokeMethod “Invoke Python Method”
位于 Sequence “Do”
位于 PythonScope “Python Scope”
位于 Sequence “Test”
位于 Test “Test”
System.AggregateException: 发生了一个或多个错误。(调用 Python 方法时出错)—> System.InvalidOperationException: 调用 Python 方法时出错 —> System.NullReferenceException: 对象引用未设置为对象的实例。 at UiPath.Python.Impl.OutOfProcessEngine.<>c__DisplayClass15_0.b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
— 来自先前位置的堆栈跟踪结束 —
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
— 来自先前位置的堆栈跟踪结束 —
at UiPath.Python.Activities.InvokeMethod.ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
— 内部异常堆栈跟踪结束 —
at UiPath.Python.Activities.InvokeMethod.ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
— 内部异常堆栈跟踪结束 —
at UiPath.Shared.Activities.AsyncTaskCodeActivity.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
我的脚本返回一个字符串,我想把它转换为 string 类型
顺便问一下:如果返回的是字符串列表,我应该转换成哪种 .NET 类型
你好 @ivory_le
请参考下面的帖子,看看其中提到的内容是否有帮助。另外,你能分享一下工作流的截图吗?你使用了哪些活动?
你是在哪个活动中遇到错误的?是在 Python Scope 活动中吗?然后检查一下你配置的 Python 路径是否正确。
这部分表明问题出在调用 Python 方法上。看起来你使用的变量为 null。
你能否在调试模式下运行此工作流,看看是哪个活动出错,并在本地面板中确认变量是否已赋值?
我遇到了这个错误:
error CS0246: 找不到类型或命名空间名“GlobalVariablesNamespace”(是否缺少 using 指令或程序集引用?)
error CS0246: 找不到类型或命名空间名“GlobalConstantsNamespace”(是否缺少 using 指令或程序集引用?)
可以分享一下你的 Python 脚本吗?
import pandas as pd
def get_bot():
bot_file_path = r".some_file_path"
# 将 Excel 文件加载到 DataFrame 中
df_bot_table = pd.read_excel(bot_file_path)
# 定义筛选条件
conditions = (
(df_bot_table["a"] == True) &
(df_bot_table["b"] == 1)
)
filtered_df = df_bot_table[conditions]
return filtered_df["Prod"].tolist()[0]
不好意思,我得改掉一些名称,但这个脚本会与另一个 xlsx 文件交互并返回一个字符串
嗨,这是我现在遇到的问题,它提示我无法转换为字符串
in Test.xaml
at GetObject`1 “Get Python Object”
at Sequence “Do”
at PythonScope “Python Scope”
at Sequence “Test”
at Test “Test”
System.InvalidOperationException: Error converting Python object —> System.InvalidOperationException: Python instantiation exception
Python Invoker program exception:
‘module’ value cannot be converted to System.String
at UiPath.Shared.Service.PythonResponse.ThrowExceptionIfNeeded()
at UiPath.Python.Service.PythonProxy.Convert(Guid obj, String t)
at UiPath.Python.Impl.OutOfProcessEngine.Convert(PythonObject obj, Type t)
at UiPath.Python.Activities.GetObject1.Execute(CodeActivityContext context) --- End of inner exception stack trace --- at UiPath.Python.Activities.GetObject1.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
你返回的是字符串列表,对吧?如果是,请在 Get Python Object 中将类型参数设为字符串数组
我现在只是返回一个字符串。它提示 Python 找不到我的脚本函数。我用的是“通过 add 函数调用 Python 方法”的示例,但它提示找不到模块属性“add”。你知道可能是什么原因吗?