首页 > 解决方案 > 用 Python 合并多个 csv 文件

问题描述

我想将多个 csv 文件合并为一个 csv 文件。csv 文件格式相同:日期都在同一时期,Adj Close 是我要合并的列

For example:

Excel file 1:

Date            Adj Close
1/12/2014       100
.....
31/12/2019      101

Excel file 2:

Date            Adj Close
1/12/2014       200
.....
31/12/2019      201

I want the output be like something like this:

Date            Adj Close    Adj Close
1/12/2014       100          200
.....
31/12/2019      101          201

我浏览了 stackoverflow 帖子和一些 youtube 视频,并找到了以下代码:

import os
import glob
import pandas as pd
def concatenate(indir = "C:\\Users\\Nathan\\Desktop\\Stock Data",
                outfile = "C:\\Users\\Nathan\\Desktop\\Stock Data\\combinestockdata.csv"):
    os.chdir(indir)
    filelist = glob.glob("*.csv")
    dflist = []
    for filename in filelist:
        print(filename)
        df = pd.read_csv(filename,header= None)
        dflist.append(df)
    concatDf = pd.concat(dflist,axis = 0)
    concatDf.to_csv(outfile,index=None)

但是,以下是我在组合文件中得到的内容:

日期调整关闭 1/12/2014 100 ... 31/12/2019 101 1/12/2014 200 ... 31/12/2019 201

与其合并列表,不如简单地将文件 2 添加到文件 1,我该怎么办?

标签: python

解决方案


看看这个stackoverflow 答案或这个免费的代码营文章

对于对答案的巨大编辑: concat沿着axis = 1


推荐阅读