Скопируйте данные с веб-сайта в панду - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь собрать данные о погоде с веб-сайта офиса met, но продолжаю получать ошибки.

Вот то, что я пробовал до сих пор

stats = ['Tmax', 'Tmin', 'Rainfall']
regions = ['England', 'Wales', 'Scotland']
base_url = r'https://www.metoffice.gov.uk/pub/data/weather/uk/climate/datasets/{}/date/{}.txt'
dframes = []

for r in regions:
    for s in stats:
        url = base_url.format(s,r)
        df = pd.read_table(requests.get(url).content)
        dframes.append(df)

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

"OSError: Expected file path name or file-like object, got <class 'bytes'> type"

1 Ответ

0 голосов
/ 16 декабря 2018

Вы должны использовать эти байты в потоке, например: io.BytesIO:

import pandas as pd
import requests
import io

stats = ['Tmax', 'Tmin', 'Rainfall']
regions = ['England', 'Wales', 'Scotland']
base_url = r'https://www.metoffice.gov.uk/pub/data/weather/uk/climate/datasets/{}/date/{}.txt'
dframes = []

for r in regions:
    for s in stats:
        url = base_url.format(s,r)
        df = pd.read_table(io.BytesIO(requests.get(url).content))
        dframes.append(df)
print(dframes)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...