为了账号安全,请及时绑定邮箱和手机立即绑定

sp_execute_external_script 返回数据集输出的 Python 脚本

sp_execute_external_script 返回数据集输出的 Python 脚本

RISEBY 2022-11-01 15:07:11
我正在使用 SQL Server 机器学习。我正在尝试从脚本中获取输出。DECLARE @answers NVARCHAR(MAX)EXEC sp_execute_external_script @language=N'Python', @script = N'import pandas as pdser = pd.Series([6, 7, 6 * 7])df = pd.DataFrame(ser)OutputDataSet = df', @output_data_1 = @answers, @params = N'@answers nvarchar(MAX)'WITH RESULT SETS((Answer int))我收到以下错误。过程需要类型为“ntext/nchar/nvarchar”的参数“@params”。我想我已经看到了 R 脚本的输出,但我无法从 Python 中得到它。
查看完整描述

3 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

declare @num1 int = 10, @num2 int=5, @thesum int;


EXEC sp_execute_external_script @language=N'Python',

 @script = N'

import pandas as pd

ser = pd.Series([6, 7, 6 * 7])

df = pd.DataFrame(ser)

OutputDataSet = df


a=x123

b=y345

sumresult=a+b

',

@output_data_1_name = N'OutputDataSet',

@params = N'@x123 int, @y345 int, @sumresult int output',

@x123= @num1, @y345=@num2, @sumresult = @thesum output

WITH RESULT SETS((Answer int));


select @thesum;


查看完整回答
反对 回复 2022-11-01
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

@output_data_1不是 的命名参数sp_execute_external_script

句法:

sp_execute_external_script   
    @language = N'language',   
    @script = N'script'  
    [ , @input_data_1 = N'input_data_1' ]   
    [ , @input_data_1_name = N'input_data_1_name' ]  
    [ , @input_data_1_order_by_columns = N'input_data_1_order_by_columns' ]    
    [ , @input_data_1_partition_by_columns = N'input_data_1_partition_by_columns' ]  
    [ , @output_data_1_name = N'output_data_1_name' ]  
    [ , @parallel = 0 | 1 ]  
    [ , @params = N'@parameter_name data_type [ OUT | OUTPUT ] [ ,...n ]' ] 
    [ , @parameter1 = 'value1' [ OUT | OUTPUT ] [ ,...n ] ]


查看完整回答
反对 回复 2022-11-01
?
手掌心

TA贡献1942条经验 获得超3个赞

他们俩都有帮助!我必须转换为 JSON。还要查看 orient 参数的各种选项。


DECLARE @answers NVARCHAR(MAX)

EXEC sp_execute_external_script @language=N'Python',

 @script = N'

import pandas as pd

ser = pd.Series([6, 7, 6 * 7])

df = pd.DataFrame(ser).to_json(orient=''values'')',

 @params = N'@df NVARCHAR(MAX) OUTPUT',

 @df = @answers OUTPUT

--

PRINT @answers


查看完整回答
反对 回复 2022-11-01
  • 3 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信