在读取多个csv文件时,是否可以创建一个名为股票代码的列,其中包含每只股票的名称?



我对 Python 相当陌生,希望在读取多个 csv 文件时生成名为Ticker的新列时得到一些帮助。随着雅虎财经API的贬值,我正在阅读雅虎财经的csv数据,包括"GOOG","IBM"和"AAPL"。以下代码将各个 csv 文件读入一个 DateFrame,但是,很难区分哪个股票是哪个股票。

path = 
allFiles = glob.glob(path + "/*.csv")
frame = pd.DataFrame()
list_ = []
for file in allFiles:
df = pd.read_csv(file,index_col=None, 
header=0)
list_.append(df)
frame = pd.concat(list_)
frame.head()

是否可以创建一个名为Ticker的列,其中包含每个股票的每个观察值的 csv 文件的名称?例如。GOOG.csv是Google的文件名,IBM的文件名.csv IBM的文件名。

这样可以更容易地识别哪个股票是哪个。

根据上一篇文章,我相信你有两个明确的选择。(1( 在原始 read_csv 命令中包含 names=[] 以指定股票名称,或 (2( 在加载之前将列名称添加到数据帧。

方法 (1( 可能涉及使用以下代码片段替换当前读取:

df=pd.read_csv(file,names=[file[len(path)+1:-4]],index_col=None)

在这里,我假设我可以通过查看一个斜杠跟随路径之后的所有字符来获取所需股票代码的字符串,直到.csv。

方法 (2( 可以通过在读取 csv 之后但在附加数据帧之前添加以下代码行来实现:

df.columns=[file[len(path)+1:-4]]

我在此响应中假设每个csv只有/想要一列数据,但是如果您想在其中放置多列,您只需在列名称列表中指定多个名称即可。

相关内容

  • 没有找到相关文章

最新更新