How to download transaction history

I have seen this question asked at lease 4 times and these questions have not been answered.

Is there no proper way of downloading a csv of my transaction history from metamask?
The downloads from etherscan seem incomplete, I am unable to get the info I need from that.

I thank anyone who would take the time to add any information at all.