У меня есть два файла Excel, я назову их: source.xlsx , output.xlsx .
Мне нужно сопоставить данные, используя Идентификатор вызывающего абонента столбец source.xlsx до svc_no столбец output.xlsx
Если совпадения нет или значение равно NULL с использованием столбца Caller ID , я могу использовать столбец adsl source.xlsx для сопоставления с port столбцом output.xlsx .
Если есть совпадение, тогда я должен игнорировать порт и написать Caller ID
Данные в source.xlsx выглядят так:
Caller ID adsl Comparison Result
NULL 2/12 Not Match
11111111 2/267 Match
22222222 4/243 Match
22222222 2/117 Possible Match
Данные в output.xlsx выглядят так:
svc_no Caller ID port Comparison Result
22222222 4/243
11111111 2/267
22222222 2/117
NULL 2/12
Мой ожидаемый вывод будет записывать данные из source.xlsx в output.xlsx :
svc_no Caller ID port Comparison Result
22222222 22222222 4/243 Match
11111111 11111111 2/267 Match
22222222 22222222 2/117 Possible Match
NULL NULL 2/12 Not Match
Я пытался использовать:
df = read_excel('source.xlsx')
df1 = read_excel('output.xlsx')
df = df['Caller ID'].isin(df1['svc_no'])]
df['Caller ID'] = df1['Caller ID']
df1.to_excel('output.xlsx')
Но он не совпадает и записывается случайным образом.