我正在尝试在定义的函数中运行 SQL 查询。我想要一个熊猫数据框作为输出,但我得到了一个列表,尽管数据看起来是正确的。这是我的代码:
import pandas as pd
from pandasql import sqldf
import pandasql as psql
cars = {'Brand': ['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'],
'Price': [22000,25000,27000,35000]}
df = pd.DataFrame(cars)
def test_query(df):
df = pd.DataFrame(df)
q = """select * from df"""
df2 = psql.sqldf(q, locals())
return df2
test_query(df)
这将返回一个我真正需要的精美熊猫数据框。
现在问题仍然存在,当我在 Tableau Prep Builder 中对我的数据运行此函数时,我得到的错误是
Unable to retrieve results for field [{0}]
我查找了此错误,发现“您需要使用 python 命令返回某些内容,其中某些内容是包含适当返回类型的列表。否则,这些值可能存在于 python 中,但 Tableau 看不到它们”
因此我用
ReturnValues = []
ReturnValues.append(df2)
仍然,我得到同样的错误Unable to retrieve results for field [{0}]
这里可能是什么原因。