You will need a custom js uploader to handle a csv upload via the web UI. To my knowledge this can’t be done in setup.xml and requires a custom “view” instead.
Best you can do with setup xml is have them copy and paste in the csv to a very large field.
I wish I could but I’ve never done it before.
You typically need something server side to handle the upload.
You can do that with a custom rest endpoint that accepts files via POST method.
You can implement the post with ajax, js, etc. on an HTML dashboard or possibly even a xml dashboard with js/Ajax/html embedded.
I do not believe you can do this with just setup.xml though. I think you will need some a custom test handler coded in python.
Are you up for the task of developing this? To be honest, I’ve tried a couple times and hit dead ends. I would love to be able to do this though.