CSV.Write DataFrame boolean columns as 0 or 1, not as string: "false" and "true"

If you do dff.b = Int8.(dff.b) instead, I think it will work. The difference must be that this is overwriting the entire column (which changes the type), but you were just overwriting the values with dff[:,:b]=Int8.(dff[:,:b]), which left the type as is.

Anyway, let me know if it works.