Heavy rain has caused flooding and disruption in parts of Italy, but forecasters expect conditions to improve over the weekend.