PandaSQLException: (sqlite3.OperationalError) нет такого столбца ОШИБКА с pandasql - PullRequest
1 голос
/ 28 февраля 2020

Я пытаюсь получить столбец из dataframe с помощью команды panda sql:

import yfinance as yf
from pandasql import *
from pandas_datareader import data as pdr
yf.pdr_override()

list_of_companies = 'GOOG,TSLA'

class Analyzer():

    def __init__(self,companies):
        self.companies = companies
        self.yahoo_data = self.load_ystock_data(self.companies)
        self.data_sets = {"yahoo_data": self.yahoo_data}

    def load_ystock_data(self,companies_list):
        data = pdr.get_data_yahoo(companies_list, period='1d')
        return data

    def query(self, q):
        return sqldf(q,self.data_sets)

a = Analyzer(list_of_companies)

query_statement = """
                    SELECT
                    Close
                    FROM
                    yahoo_data;
                  """  
df1 = a.query(query_statement)

, но получаю ошибку:

PandaSQLException: (sqlite3 .OperationalError) нет такого столбца: Close [SQL: SELECT Close FROM yahoo_data; ]

Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 28 февраля 2020

Это может быть проблема с чувствительностью к регистру при использовании имени столбца. Попробуйте заключить имя столбца Close в "", например:

query_statement = """
                    SELECT
                    'Close'
                    FROM
                    yahoo_data;
                  """  
...