I have a large CSV file with a couple of dozen columns, thousands of row. It's auto-updated daily by one system and another system will auto-import the CSV but the second system expects the headers to be different from what the first system generates. Alas I have no control over either system so the solution is to change the header row of that CSV using PowerShell.
Using -Header parameter creates an alternate column header row on top of the original header row. I used -Skip parameter to skip the first row (which now contains your original header list). Now you can export the csv with new headers.