Old question, old answer.
CSV (Comma separated values) is a protocol to compactly transfer ascii data. Leading blanks, trailing blanks, as NULL characters are NOT transferred. Justification of the received file into columns that you place as data in fields, or values in cells, is the responsibility of the receiving program.
Option 1 is to replace the NULL characters with a non-printing, non-numerical character. If your blanks were actually SPACES (ascii32/hex20) then use ascii255/hexff.
This puts the load of preparation on the PC.
Option 2 (the preferred method) is to do justification on the received data as it is placed in fields or spreadsheet cells. Standard string formatting allows you to ‘right’ fill the string and automatically create you missing leading blanks. This puts the load on the AS/400 , where I think it belongs, and keeps the transfer to the simple standard. (Tab separated files [common extension .txt] would have the same problem because the intent is the same compact the data in transit.)
Alternate file formats exist for business/accounting data with fixed width columns and specified left/right strings. Note these formats bloat very quickly as all the ‘empty’ spaces have to be transferred also.