Donald Trump will impose tariffs on goods from Canada, Mexico and China despite acknowledging the move is set to cause disruption and hardship for Americans.