@mwiegand another option would be to use the Parquet Reader and writer. This would have the benefit of preserving the column types while allowing to add data to an existing file.
Parquet has the addition benefit of working well with Big Data and R and Python.