融化多个csv文件不起作用,仅融化了一个csv文件

时间:2018-11-05 11:15:45

标签: python pandas dataframe web-scraping concatenation

将多个csv文件(500)合并为一个csv文件时出现问题。运行该应用程序时,它会根据需要创建一个csv文件,但只有一个代码。似乎它不会遍历所有存储的csv文件。 结果如下:CSV output

    for count, ticker in enumerate(tickers):
    df = pd.read_csv('stock_dfs/{}.csv'.format(ticker))
    df.set_index('Date', inplace=True)

    df.rename(columns={'Adj Close': ticker}, inplace=True)
    df.drop(['Open', 'High', 'Low', 'Close', 'Volume'], 1, inplace=True)

    main_df = pd.DataFrame()

    df = df.reset_index()
    df = df.melt(id_vars=['Date'], var_name='Ticker', value_name='Closed')

    main_df = main_df.append(df)

    print(main_df.head())
main_df.to_csv('sp500_joined_closes.csv')

compile_data()

1 个答案:

答案 0 :(得分:0)

而不是if / else,请尝试实例化一个空数据框,该数据框将随每个融化的df一起填充。

main_df = pd.DataFrame()

for count, ticker in enumerate(tickers):
    df = pd.read_csv('stock_dfs/{}.csv'.format(ticker))
    df.set_index('Date', inplace=True)

    df.rename(columns={'Adj Close': ticker}, inplace=True)
    df.drop(['Open', 'High', 'Low', 'Close', 'Volume'], 1, inplace=True)

    df = df.reset_index()
    df = df.melt(id_vars=['Date'], var_name='Ticker', value_name='Closed')

    main_df = main_df.append(df)

    if count % 10 == 0:
        print(count)

print(main_df.head())
main_df.to_csv('sp500_joined_closes.csv')