在 tableau prep 中获取 prep_int() 未定义错误
2020-11-19
667
我正在使用 Tableau Prep 和 Python 脚本,但当我执行 Python 脚本时,在输出流中出现错误“ prep_int() 函数未定义 ”。我在 Python 脚本中为 get_output_schema 函数使用了 prep_int()。
Python 代码:
import pandas as pd
import requests
import json
df = pd.read_csv("E:/dummy.csv")
port = "8080"
target_columns = ["id"]
# target_columns = df['id']
source_columns = list(set(df.columns) - {"target"})
# print(target_columns)
target_json = json.loads(df[target_columns].to_json(orient="records"))
source_json = json.loads(df[source_columns].to_json(orient="records"))
# print(source_json)
payload = {"source": {"data": source_json}, "target": {"data": target_json}}
# print(payload)
# Run a single or mini-batch prediction
headers = {"content-type": "application/json", "accept": "application/json"}
r = requests.post(
"http://14.141.154.146:9871/invocations", data=json.dumps(payload), headers=headers
)
# print(r.text)
def filldata():
df = pd.DataFrame()
ID(int)
# fill df up with data
# for example
# name (string)
# time (datetime)
# number (int)
return df
def get_output_schema(self):
return pd.DataFrame({"ID": prep_int()})
- 带有错误消息的 Tableau Prep 屏幕:
1个回答
您快完成了!
查看文档 https://help.tableau.com/current/prep/en-us/prep_scripts_TabPy.htm
您必须获取返回 pandas DataFrame 的内部结构和 def get_output_schema() 以进行匹配。
您没有在任何地方返回 DataFrame,并且 get_output_schema 也不匹配该 DataFrame,因为它不存在。
因此您需要一个函数
def filldata():
df=pd.DataFrame()
# fill df up with data
# for example
# name (string)
# time (datetime)
# number (int)
return df
并且您需要一个相应的函数
def get_output_schema():
return pd.DataFrame({
'name' : prep_string(),
'time' : prep_datetime(),
'number' : prep_int()
})
然后移至 tableau 以指向脚本和要调用的函数以获取数据。
Paul Brennan
2020-11-19