大家好,
我试图围绕微软服务器2017和python脚本。 一般来说 - 我试图存储我从网站上获取的表格(使用bs4), 将它存储在panda df中,然后简单地将结果放在临时sql表中。
我输入了以下代码(我跳过部分代码,因为python脚本 在python中工作。请记住,我从microsoft sql server 2017调用脚本):
CREATE PROC OTC
AS
BEGIN
EXEC sp_execute_external_script
@language = N'Python',
@script = N'
import bs4 as bs
import pandas as pd
import requests
....
r = requests.get(url, verify = False)
html = r.text
soup = bs.BeautifulSoup(html, "html.parser")
data_date = str(soup.find(id="ctl00_SPWebPartManager1_g_4be2cf24_5a47_472d_a6ab_4248c8eb10eb_ctl00_lDate").contents)
t_tab1 = soup.find(id="ctl00_SPWebPartManager1_g_4be2cf24_5a47_472d_a6ab_4248c8eb10eb_ctl00_NiaROGrid1_DataGrid1")
df = parse_html_table(1,t_tab1)
print(df)
OutputDataSet=df
'
我尝试过微软教程,根本无法理解如何操作 处理输入/输出以将结果作为sql表获取。 此外,我收到错误
" 将bs4导入为bs ImportError:没有名为' bs4' "
我在这里显然很遗憾。 我要添加到sql代码中的什么? sql server甚至支持bs4吗?还是只有熊猫? 然后我需要找到另一个解决方案,比如写为csv?
感谢您提供的任何帮助或建议
答案 0 :(得分:0)
使用pip在SQL Server 2017上安装Python包:
cd
到{instance directory}\PYTHON_SERVICES\Scripts
C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\PYTHON_SERVICES\Scripts
)。pip install {package name}
。您已安装必要的软件包并且脚本成功执行,只需将变量OutputDataSet
设置为pandas数据框将导致该数据框的内容作为存储的结果集返回程序。
如果要在表格中捕获该结果集(可能是临时表格),可以使用INSERT...EXEC
(例如INSERT MyTable(Col1, Col2) EXEC sp_execute_external_script ...
)。