Python Pandas_DataReader для создания DF для каждого тикера и сохранения .to_csv с именем тикера - PullRequest
0 голосов
/ 13 февраля 2020

На мой предыдущий вопрос здесь, в StackOverflow, парень по имени A sh дал мне код, и я отредактировал его для своих нужд, но у меня возникла большая проблема, чтобы выяснить, как получить «открытый», « high ',' low ',' close ',' volume 'для каждого тикера и сохраните каждый из них как CSV.

Код ниже приносит мне только «Adj Close», который мне не нужен. Я хотел бы получить DF для каждого тикера с открытым, высоким, низким, закрытым объемом в виде столбцов, а затем сохранить .to_csv каждый DF с именем тикера.

Возможно ли это сделать, не нарушая 'Ticker' перечислить часть?

from datetime import date
import pandas as pd
import datetime
from pandas_datareader import data as wb

start = date.today()-datetime.timedelta(days=2*365)
end = date.today()

tickers = ['MGFF11.SA',
'XPML11.SA',
'VISC11.SA',
'HGCR11.SA',
'XPLG11.SA',]

price_data = []
for ticker in tickers:
    prices = wb.DataReader(ticker, start = start, end = end, data_source='yahoo')
    price_data.append(prices.assign(ticker=ticker)[['ticker', 'Adj Close']])

df = pd.concat(price_data)

pd.set_option('display.max_columns', 500)

df = df.reset_index()
df = df.set_index('Date')
table = df.pivot(columns='ticker')
table.columns = [col[1] for col in table.columns]
print(table)

1 Ответ

2 голосов
/ 13 февраля 2020

IIU C:

for ticker in tickers:
    prices = wb.DataReader(ticker, start = start, end = end, data_source='yahoo')
    ticker_csv = "{}.csv".format(ticker)
    prices.to_csv(ticker_csv)

Отдельный csv файл для каждого тикера

...