2016-12-12 16 views
0

私は2枚のExcelシートsheet1sheet2を持っています。シート1は、シート2もFirst nameLast nameを格納する列を有する等、row idFirst nameLast nameDescription列を有し、他の2つの列、column D、及びcolumn E、その必要性は説明欄にマージします。Excelマージセル、Python Pandasを使用して2枚から

First name,Last nameの組み合わせは、両方のシートに1度だけ存在します。

一致条件に基づいて、シート1の説明列のシート2の列D、Eの内容をマージする方法姓と姓がシート1から、シート2から同じになるPython Pandasを使用していますか?

シート1:

ID | columnB | column C | Column D 
1 | John  | Hingins | Somedescription 

シート2:

ID | column Z | column X | Column Y  | Column W 
1 | John  | Hingins | description2 | Somemoredescription 

出力: シート1:

ID | columnB | column C | Column D 
1 | John  | Hingins | description2-separator-Someotherdescription-separator-Somedescription 
+1

ここでは、例を必要としています。 [MCVE]を参照してください。 – IanS

答えて

0

私はあなたがこれを見てすべきだと思います。しかしそれは主に文脈のためです。

http://pbpython.com/excel-file-combine.html

私はあなたの問題は、実際にこれに沸くと思います。

>>> !cat scores3.csv 
ID,JanSales,FebSales 
1,100,200 
2,200,500 
3,300,400 
>>> !cat scores4.csv 
ID,CreditScore,EMMAScore 
2,good,Watson 
3,okay,Thompson 
4,not-so-good,NA 

我々は(ソートのExcelシートのようにそれらを考える)データフレームと呼ばれるオブジェクトにこれらを読むことができる:

>>> import pandas as pd 
>>> s3 = pd.read_csv("scores3.csv") 
>>> s4 = pd.read_csv("scores4.csv") 
>>> s3 
    ID JanSales FebSales 
0 1  100  200 
1 2  200  500 
2 3  300  400 
>>> s4 
    ID CreditScore EMMAScore 
0 2   good Watson 
1 3   okay Thompson 
2 4 not-so-good  NaN 

をそして、我々は、ID列にそれらをマージすることができます:

>>> merged = s3.merge(s4, on="ID", how="outer") 
>>> merged 
    ID JanSales FebSales CreditScore EMMAScore 
0 1  100  200   NaN  NaN 
1 2  200  500   good Watson 
2 3  300  400   okay Thompson 
3 4  NaN  NaN not-so-good  NaN 

その後、csvファイルまたはExcelファイルに保存できます。

>>> merged.to_csv("merged.csv") 
>>> merged.to_excel("merged.xlsx") 

から...ここに...

Looking to merge two Excel files by ID into one Excel file using Python 2.7

関連する問題