如何使用一个主键将不同的CSV文件合并为新的CSV文件

时间:2019-04-19 02:10:33

标签: python pandas csv

我有两个巨大的CSV文件,希望它们使用python pandas加入一个新的CSV文件中,主键是id_student,可以将不同的列成功地连接在一起,但是当我输出到一个新的CSV文件时,整个数据只会存在于第一行,不同的列,例如,第1行的第1列将是id_student,就像:

0  12345
1  12344

然后第1行的列将为final_result,格式如下:

0  Pass
1  Pass

但是我的预期输出将是:

0  12345 Pass
1  12344 Pass

有什么办法可以修复输出格式?

def plotlyGraph(self):

    df = pandas.read_csv('studentAssessment.csv')
    dc = pandas.read_csv('studentInfo.csv')
    res = pandas.merge(df,dc, on=['id_student'], how='outer')
    a=res['id_student']
    b=res['final_result']
    c=res['score']
    d=res['id_assessment']
    e=res['region']

    with open("new.csv", "w", newline="") as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow([a,b,c,d,e])

1 个答案:

答案 0 :(得分:0)

我假设您的126.3125 126.25694444444443 126.2152777777778 126.3125 有2列:dfid_student,而id_assessment有2列:dcid_student 。试试这个:

final_result

输出

df = pandas.read_csv('studentAssessment.csv')
dc = pandas.read_csv('studentInfo.csv')

res = df.merge(dc, on=['id_student'], how='outer')
print(res)

要存储在 id_student id_assessment final_result 0 0 12345 pass 1 1 12344 pass 文件中:

csv