У меня есть несколько таблиц ввода, как показано на рисунке. Я хочу создать таблицу вывода, которая включает столбцы из обеих таблиц ввода, как показано на рисунке. Ни один из столбцов и имена столбцов во входных таблицах не могут измениться в любой момент. Я хочу создать динамический процесс, который читает входные таблицы и создает выходную таблицу со всеми столбцами. Я использую питон. Кто-нибудь делал это раньше? Любая помощь очень ценится.
В каком формате ваши входные данные? CSV-файл?
Входные данные находятся в таблице улья.
@VamsiPrabhala Ничего, просто объединить данные в одну таблицу.
Это решение, которое поможет вам добиться желаемого. Однако, поскольку я не знаю вашего формата данных, я могу только предположить, как они будут поступать.
Если вы используете Hive и загрузили свои данные в формате 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
@ Боб, это помогло тебе решить твою проблему? Пожалуйста, дай мне знать. Спасибо
@ Боб Приятно слышать. Если этот ответ помог вам решить вашу проблему, отметьте его как правильный ответ. Спасибо
что делать, если идентификаторы в обеих таблицах совпадают?