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

2024-05-18 21:41:47 发布

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

我对Python还比较陌生,在读取多个csv文件时需要一些帮助来生成一个名为Ticker的新列。作为雅虎!财务API是折旧,我在阅读的csv数据从雅虎!为“GOOG”、“IBM”和“AAPL”融资。下面的代码将单个csv文件读入一个日期框,但是很难区分哪个股票是哪个。你知道吗

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文件名?如。谷歌.csv是Google的文件名,IBM.csv文件是IBM的文件名。。。你知道吗

这样可以更容易地确定哪只股票是哪只股票。你知道吗


Tags: 文件csvpathdf文件名frameibmglob
1条回答
网友
1楼 · 发布于 2024-05-18 21:41:47

根据this之前的帖子,我相信你有两个明确的选择。(1)在原始read\u csv命令中包含names=[]以指定股票名称,或(2)在加载前将列名添加到数据帧。你知道吗

方法(1)可能涉及用以下代码段替换当前读取的内容:

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

在这里,我假设我可以通过查看一个斜杠后面的所有字符,直到.csv,来获得所需的ticker的字符串。你知道吗

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

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

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

相关问题 更多 >

    热门问题