创建一个CSV数据帧

时间:2018-10-11 16:44:52

标签: python pandas csv dataframe

我正在尝试将不同股票上的一些时间序列CSV文件加入。我设法将数据保存在单独的CSV文件中,现在我想将所有数据与日期作为索引一起加入,仅保留其收盘价。为了确定哪个收盘价对应于哪个报价,我必须将“ Close”列重命名为文件名中包含的报价的名称。这些文件具有以下所有命名约定:“ ticker.csv”。这段代码是从pythonprogramming.net网站上获得的灵感,我尝试根据自己的情况进行调整。 (链接在这里:https://pythonprogramming.net/sp500-company-price-data-python-programming-for-finance/

我已经在网上查找了很多解决方案,但没有一个回答我的问题。

当我尝试将Date设置为索引时,为什么我的代码告诉我有一个键盘错误?

如果我在此行中添加注释并尝试删除一些列,则它表明标签不存在,而每个csv的第一行中都有明确的指示。 AREX.csv

import os
import glob
import pandas as pd
path = "C:/Users/xx/Desktop/Equity"
path1 = "C:/Users/xx/Desktop/Equity/Merged.csv"

def concatenate(indir=path, outfile = path1):
    os.chdir(indir)
    fileList = glob.glob("*.csv")
    ticker = []
    for filename in fileList:
        print(filename)
        df=pd.read_csv(filename, error_bad_lines=False)
        ticker.append(df)
        df.set_index("date", inplace=True)        
        df.rename(columns = {"close": ticker}, inplace = True)
        df.drop(["Open","High","Low","Volume","Open interest"],axis = 1, inplace=True)
        df=df.join(df, how="outer")

    print(df.head())
    df.to_csv('Merged.csv')

concatenate()

有人可以帮我吗? 无论如何,非常感谢您能给我的任何帮助! :)

1 个答案:

答案 0 :(得分:0)

好的,所以我来回答这个问题,这是结局代码:

import os
import glob
import pandas as pd
import shutil
def concatenate(indir="C:/Users/xx/Desktop/Equity_Merton", outfile = "C:/Users/xx/Desktop/Equity_Merton/Merged.csv"):
    os.chdir(indir)    
    fileList = glob.glob("*.csv")
    ticker = []
    main_df = pd.DataFrame()
    for filename in fileList:
        print(filename)
        df=pd.read_csv(filename, sep = ";")
        ticker.append(df)
        df.set_index("Date", inplace=True)        
        df.rename(columns = {"Close": filename[0:len(filename) - 4]}, inplace = True)
#        print(df[filename])
        df.drop(["Open","High","Low","Volume","Open interest"],axis = 1, inplace=True)

        if main_df.empty:
            main_df = df
        else:
            main_df = main_df.join(df, how='outer')

    print(main_df.tail())
    main_df.to_csv('Merton_Merged.csv')         
    shutil.move("Merton_Merged.csv", "../Merton_Merged.csv")

谢谢@yuca的帮助! 最后一个问题是一个简单的治疗问题...