簡體   English   中英

如何使用一個主鍵將不同的 CSV 文件合並到一個新的 CSV 文件中

[英]How to merge different CSV file into a new CSV with one primary key

我有兩個巨大的 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])

我假設您的df有 2 列: id_studentid_assessment ,而dc有 2 列: id_studentfinal_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文件中:

res.to_csv("new.csv", index=False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM