In R this is rather straightforward, and you can also achieve it without additional libraries:
weight <- read.csv("weight.csv")
person <- read.csv("person.csv")
merge(weight, person, all=TRUE)
Of course, nowadays you would use data.table, but still the merging logic would be exactly the same.