在 sql 中执行 python - 将返回的文本拆分成列并加载到 table

Executing python in sql - Split returned text into columns and load into a table

我已经创建了一个 python 脚本,并且能够使用 sp_execute_external_script 程序在 SQL 中 运行 它。我的文字回复是:(烦躁)

App ID,External ID,Surname,Forename,Job title,Branch name,Branch external ID
6735377,MIL019,SNAME,FNAME,Driver,BRANCH,BRANCH EID
6735377,MIL019,SNAME,FNAME,Driver,BRANCH,BRANCH EID
6735378,MIL002,SNAME,FNAME,Assistant Village Manager,BRANCH,BRANCH EID
6735386,MIL022,SNAME,FNAME,Housekeeping Manager,BRANCH,BRANCH EID
6735386,MIL022,SNAME,FNAME,Housekeeping Manager,BRANCH,BRANCH EID

我想将这些输出到 sql 内的 table,但到目前为止已经能够 return 由逗号分隔的所有内容组成的一行。

这是我的代码...

DECLARE @PyScript NVARCHAR(MAX) = N'
import requests
import pandas as pd
import numpy as np
import json 
result_array = []
url = "MY URL"
payload= {
        "secret"   : "MY PASSWORD",
        "date_from": "2021-01-01",
        "date_to"  : "2021-02-01"
     }
files=[]
headers = {
        "Authorization": "MY AUTHORISATION",
        "Cookie"         : "sessionid=MY SESSION ID; csrftoken=MY TOKEN"
      }
r = requests.request("POST", url, headers=headers, data=payload, files=files)
result_array.append(r.text)
df = pd.DataFrame(np.array(result_array))
results = df
'
EXECUTE sp_execute_external_script
@language  = N'Python'
,@script   = @PyScript
,@output_data_1_name = N'results'

我在这里找到了答案:

https://datascience.stackexchange.com/questions/67768/convert-csv-from-an-api-to-a-dataframe-format-in-python

我希望这个话题对某人有所帮助,因为这对我帮助很大。