在配置单元中将不同结构的表追加/合并到一个表中?

lstz6jyr  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(311)

我有两个输入表,如图所示。我想创建一个输出表,其中包括来自两个输入表的列,如图所示。任何时候输入表中的列和列名都不能更改。我想创建一个动态进程,读取输入表并创建包含所有列的输出表。我在用python。以前有人这样做过吗?非常感谢您的帮助。

u0njafvf

u0njafvf1#

这是一个解决方案,可以实现你想要的。但是,由于我不知道你的数据格式,我只能弥补他们将如何到达。
如果您使用的是配置单元,并且以csv或excel的形式下载了数据,那么只需将下面的代码替换为 df1 = pd.read_excel(filepath) 或者 df1 = pd.read_csv(filepath) ```
import pandas as pd

df1 = pd.DataFrame({
'Col1': [1,11,22],
'Col2': ['qwe','ert','eryy'],
'Col3': ['111','222','333'],
'Col4': ['match1','fail1','fail2'],
'Col5': ['fail3','fail4','match2'],
})
df2 = pd.DataFrame({
'Col1': [123, 433],
'Col4': ['match1','fail12'],
'Col5': ['fail33','match2'],
'Col6': ['fee','foo'],
'Col7': ['spam','spam'],
})

df3 = pd.merge(df1, df2, how='outer',
left_on=['Col1','Col4','Col5'],
right_on=['Col1','Col4','Col5'])

print (df3)

Col1 Col2 Col3 Col4 Col5 Col6 Col7

0 1 qwe 111 match1 fail3 NaN NaN

1 11 ert 222 fail1 fail4 NaN NaN

2 22 eryy 333 fail2 match2 NaN NaN

3 123 NaN NaN match1 fail33 fee spam

4 433 NaN NaN fail12 match2 foo spam

相关问题