pandas «Дата» отсутствует в списке - PullRequest
0 голосов
/ 17 июня 2020

Я новичок ie в кодировании, и я пытаюсь получить некоторые данные истории из Yahoo Finance, и код работал до

def crawl_price(stock_id):
        now = int(datetime.datetime.now().timestamp())+86400
        url = "https://query1.finance.yahoo.com/v7/finance/download/" + stock_id + "?period1=0&period2=" + str(now) + "&interval=1d&events=history&crumb=hP2rOschxO0"
        r = requests.post(url)
        f = io.StringIO(r.text)
        df = pd.read_csv(f, index_col='Date', parse_dates=['Date'])

        conn = sqlite3.connect('data/hkprice.db')
        df.to_sql('' + stock_id + '', conn, if_exists='replace')

        return df

, но на выходе получается 'Date' is not in list

, и я загружаю csv-мысль, открываемую с помощью pandas, она отлично отображается

Я не уверен, что не так

Ответы [ 3 ]

0 голосов
/ 17 июня 2020

Добавьте разделитель в метод red_csv ().

df = pd.read_csv(f, sep="," , index_col='Date', parse_dates=['Date'])

проверьте другие параметры read_csv, например sep = ";" , encoding = "utf_8" et c.

0 голосов
/ 17 июня 2020

Пробовали ли вы сделать запрос GET вместо POST:

r = requests.get(url)

Этот URL не разрешает запросы POST. Вот текст, возвращаемый при выполнении запроса POST:

r = request.post(url)
r.text
'{"finance":{"result":null,"error":{"code":"Method Not Allowed","description":"HTTP 405 Method Not Allowed"}}}'
0 голосов
/ 17 июня 2020

Это «Дата» с заглавной буквы или «дата» без заглавной буквы?
Не могли бы вы привести пример предполагаемого URL? Без примера сложно работать: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...