Я пытаюсь выполнить операцию CDC через Python. Я пытаюсь выполнить объединение неизмененных данных (основной файл / базовая таблица) с новым файлом (дельта-файл).
Ниже приведена функция, которую я написал:
def processInputdata():
df1 = pd.read_csv('master.csv')
df2 = pd.read_csv('delta.csv')
df=pd.merge(df1,df2,on=['cust_id','cust_id'],how="outer",indicator=True)
dfo=df[df['_merge']=='left_only']
dfT =pd.merge(dfo,df2,on=['cust_id','cust_id'],how="right",indicator=True)
Этоне работает. Ниже приведено сообщение об ошибке:
ValueError: Невозможно использовать имя существующего столбца для столбца индикатора
Я не уверен, существует ли какой-либо более простой или лучший подход для выполненияCDC.
Пример данных:
Основной файл:
cust_id cust_name cust_income cust_phone
0 111 a 78000 sony
1 222 b 8000 jio
2 333 c 108000 iphone
3 444 d 200000 iphoneX
4 555 e 20000 samsung
Дельта-файл:
cust_id cust_name cust_income cust_phone
0 222 b 20000 jio
1 333 c 120000 iphoneX
2 666 f 76000 oneplus
Ожидаемый результат:
cust_id cust_name cust_income cust_phone
0 111 a 78000 sony
1 222 b 20000 jio
2 333 c 120000 iphoneX
3 444 d 200000 iphoneX
4 555 e 20000 samsung
5. 666 f 76000 oneplus