Сначала нужно выбрать первое значение списка DataFrames, возвращаемых read_html
, а затем использовать to_datetime
, если хотите DatetimeIndex
добавить set_index
:
url = 'https://coinmarketcap.com/currencies/veritaseum/historical-data/?start=20180101&end=20180105'
df = pd.read_html(url)[0]
df['Date'] = pd.to_datetime(df['Date'], format='%b %d, %Y')
df = df.set_index('Date')
print(df)
Open* High Low Close** Volume Market Cap
Date
2018-01-05 366.43 395.69 356.26 380.11 426543 746285248
2018-01-04 376.58 397.02 353.17 368.46 734384 766956544
2018-01-03 378.55 395.28 352.05 376.05 1000590 770974464
2018-01-02 343.79 393.92 335.60 377.54 2011340 700168512
2018-01-01 338.14 357.18 325.33 343.12 890956 688681984
Или используйте параметры parse_dates
и при необходимости DatetimeIndex
также добавьте index_col
:
df = pd.read_html(url, index_col=0, parse_dates=[0])[0]
print(df)
Open* High Low Close** Volume Market Cap
Date
2018-01-05 366.43 395.69 356.26 380.11 426543 746285248
2018-01-04 376.58 397.02 353.17 368.46 734384 766956544
2018-01-03 378.55 395.28 352.05 376.05 1000590 770974464
2018-01-02 343.79 393.92 335.60 377.54 2011340 700168512
2018-01-01 338.14 357.18 325.33 343.12 890956 688681984