One reason to need fixlengths is that there are multiple subfields for one field without quoting it. If that field is the last then fixlengths can be used but not if it is the second last, say. What would be nice is if the position of the insertion point for the extra commas could be specified. For example -1 would mean the extra comma(s) would be inserted at the last comma. If there are no commas then the commas are still added at the end.
One reason to need fixlengths is that there are multiple subfields for one field without quoting it. If that field is the last then fixlengths can be used but not if it is the second last, say. What would be nice is if the position of the insertion point for the extra commas could be specified. For example -1 would mean the extra comma(s) would be inserted at the last comma. If there are no commas then the commas are still added at the end.
Here is an example of sample input taken from https://stackoverflow.com/questions/76423878/reading-a-csv-file-into-r-which-contains-comma-separated-values-in-single-obser/76427295#76427295
The corresponding output would be
although I think it would be sufficient if it did not deal with the header since that can always be skipped by whatever program is reading it in.
To be clear, this gawk program from same source would accept that input and produce that output for this particular example.