我有两张Excel表格,sheet1
和sheet2
。 Sheet1包含row id
,First name
,Last name
,Description
列等.Pheet2还有一个存储First name
,Last name
的列,还有两个其他列column D
和column E
,需要在“描述”列中合并。
First name
,Last name
的组合在两张纸中只存在一次。
如何根据匹配条件合并工作表1中第2页的D,E列,名称为Description的列,根据匹配条件,第1名和姓氏在第1页和第2页的行中相等,使用Python熊猫?
表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
答案 0 :(得分:1)
我认为你应该看看这个。但这主要是出于背景。
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
我们可以将这些内容读入名为DataFrames的对象(想想它们有点像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