Я пытаюсь выполнить SQL запросов в рамках определенной функции. Мне нужен фрейм данных pandas в качестве вывода, но я получаю список, хотя данные кажутся правильными. Вот мой код:
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)
Это возвращает точный pandas фрейм данных, который мне действительно нужен.
Теперь проблема не устранена, когда я запускаю эту функцию для своих данных в Tableau Prep Builder, я получаю сообщение об ошибке
Unable to retrieve results for field [{0}]
Я искал эту ошибку и обнаружил, что «вам нужно использовать команду python, чтобы вернуть что-то, где что-то является списком, содержащим соответствующий тип возвращаемого значения. В противном случае значения могут существовать в python, но Tableau их не видит »
, поэтому я использовал
ReturnValues = []
ReturnValues.append(df2)
, но я получаю ту же ошибку, что и Unable to retrieve results for field [{0}]
В чем может быть причина?