Scripting - either directly (all changes with script) or indirectly (import custom records, use those to update the record via script)
Workflow - directly make all changes (no csv option here that I can think of)
3rd party solution - for example: Celigo has a free tool for this if you don't already use their services:
https://www.celigo.com/products/data-loader-tool/