Split big CSV into many smallers one easy

Problem with splitting a BIG csv file into smallers one with a fixed amount of row?

And you want also to mantain the header of the parent CSV in all the generated files and also the extensions of the file?

BASH scripting help us with this!

split_filter() { { head -n 1 $csv_file; cat } > "$FILE"; }; export -f split_filter; tail -n +2 $csv_file | split -dl $number_of_lines --additional-suffix=.csv --filter=split_filter - Part_