【发布时间】:2020-07-15 16:49:00
【问题描述】:
我要去雅虎财经并提取德国股票的数据。然后将它们写入单独的 CSV 文件。
然后我想将它们读回单个数据帧。
#获取股票的代码
tickers = ["MUV2.DE","DTE.DE", "VNA.DE", "ALV.DE", "BAYN.DE", "EOAN.DE", "RWE.DE", "CON.DE", "HEN3.DE", "BAS.DE", "FME.DE", "WDI.DE", "IFX.DE", "SAP.DE", "BMW.DE", "DPW.DE", "DB1.DE", "DAI.DE", "BEI.DE", "SIE.DE", "ADS.DE", "DBK.DE", "FRE.DE", "HEI.DE", "MRK.DE", "LHA.DE", "VOW3.DE", "1COV.DE", "LIN.DE", "TKA.DE"]
start = datetime.datetime(2012,5,31)
end = datetime.datetime(2020,3,1)
# Go to yahoo and pull data for the following tickers and then write them to CSV
for ticker in tickers:
df = pdr.get_data_yahoo(ticker, start=start, end=end)
df.to_csv(f"{ticker}.csv")
完成上述操作后,我将读取所有股票代码名称的 CSV,然后将它们与各个 CSV 文件名连接起来。好吧,这就是我至少想做的。
import pandas as pd
tickers = pd.read_csv('C:/Users/XXX/Desktop/Momentum/tickers.csv', header=None)[1].tolist()
stocks = (
(pd.concat(
[pd.read_csv(f"C:/Users/XXX/Desktop/Momentum/{ticker}.csv", index_col='Date', parse_dates=True)['Adj Close'].rename(.replace(".DE", "")ticker)
for ticker in tickers],
axis=1,
sort=True)
)
)
stocks = stocks.loc[:,~stocks.columns.duplicated()]
现在我以前可以使用此代码,但是在导入其他股票代码时。我的 jupyter notebook 所做的就是旋转出来。
我想知道问题出在哪里,是不是因为 CSV 文件名类似于 ADS.DE.csv,以及第一个 . 是否会导致问题。
【问题讨论】:
标签: python pandas dataframe csv yahoo-finance