读取CSV文件并将其连接到单个数据帧时出现问题

2024-04-27 04:33:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我要去雅虎金融公司,搜集德国股票的数据。然后将它们写入单个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笔记本所做的就是旋转输出

我想知道这里的问题是什么,是否是因为CSV文件名类似于ADS.DE.CSV,以及第一个.是否导致了问题