It requires some competence with Linux / Bash in order to use it, and I’d strongly recommend doing a backup first and doing it at a quiet time as you can royally stuff up your user data if not careful. I trialled it on a staging server before using it on our production site.
You might find this Data Explorer query useful in order to get the existing data for the user_field that you are targeting:
--[params]
-- string :ucf_name = user_field_1
SELECT
user_id, value as ":ucf_name"
FROM user_custom_fields
WHERE name = :ucf_name
ORDER BY user_id asc
Note that you’ll have to remove the ' from either side of the field name in the .csv as I couldn’t work out how to stop the query including them.