The CSV format doesn't have a standard way of handling the third "dimension" represented by the list column.
If you want human (semi-)interpretability, I would suggest dput/dget, which should be able to serialize any R data structure in format that you could either read with dget or copy/paste into an assignment statement. Alternatively, saveRDS/readRDS would use a binary format.
Finally, if you're really set on a CSV file, you could do something like:
I'm sure I'm making that more convoluted than necessary, but the point is, you can force anything into a CSV if you try hard enough. You might have trouble reading it without extensive notes, though.
You are correct. i forgot about that option and for a real case scenario that gave me identical data.frames when I read the saved one back wheras the the dget one did not