'Using Pandas how to copy row value based on two Columns from different csv file

I am working with pandas to transform csv data and I am stuck here.
I have two CSV files Test1.csv and Test2.csv. Both files contain two columns ID and Name
Based on Test1.csv ID, I am trying to find an ID value in Test2.csv and find the name corresponding with that ID, and copy it into a new file output.csv.
FOR EXAMPLE:
I have a file Test1.csv

ID,Name
1,John
2,Doe
3,Adam
4,Casy
5,Jane
6,Elot
7,Doe
8,xavi

And another file Test2.csv

ID,Name
1,Casy
3,Adam
2,Tom 
4,Bruno
5,Johnop
6,John

Based on the ID of Test1.csv I am trying to look for that ID value in Test2.csv with the corresponding Name value and store it in a new file with oldName and newName column as mentioned in output.csv file.
Expected Output: output.csv

oldName,ID,newName
John,1,Casy
Doe,2,Tom
Adam,3,Adam 
Casy,4,Bruno
Jane,5,Johnop
Elot,6,John
Doe,7,
xavi,8,


Solution 1:[1]

read Test1.csv and Test2.csv as pandas df

try output = Test1.merge(Test2,left_on='ID',right_on='ID',how='left')

and save the output df as output.csv

Solution 2:[2]

Try this:

df1 = pd.read_csv('Test1.csv')
df2 = pd.read_csv('Test2.csv')

merged = pd.merge(df1, df2, on='ID', how='left').fillna('')
merged = merged.rename(columns={'Name_x': 'oldName', 'Name_y': 'newName'})
merged[['oldName', 'ID', 'newName']].to_csv('output.csv', index=False)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 micro5
Solution 2 Prabhakar Kalaiselvan