A flat text to comma separated values converter
txt2csv.py is a small python script to convert a flat database file (a text file where fields have a fixed column width) to a csv file (where fields are identified by a separator, usually “;”).
It is tested with files up to hundreds of megabyte, and it is relatively fast.
download
To realize this conversion the script needs a second file including the information on how to split the original file. This “mask file” will be in the form of: FIELD_NAME;FIELD_SIZE (with one field for each row)
To run this software you need the python interpreter. If it is not already installed on your machine please download it from http://python.org.
txt2csv.py is Free Software, released under GNU General Public Licence, version 2.
Bugs reports and comments are welcome to blackhole a.t. lobianco.org
Many thanks for using this software !
Antonello Lobianco
Usage: txt2csv.py [input_file] [output_file] [mask_file] input_file -> is a flat text datafile where fields have a fixed length output_file -> is a standard csv file mask_file -> is a text file describing how to split the fields, in the form FIELD_NAME;LENGTH (one for each row). Field name is optional.
Example of a flat database:
John Smith 35 Freedom Street 10 Mickey Mouse 55 Disneyland Avenue 185 John Jr. Smith 3 Freedom Street 10
Example of a maskfile:
FIRST_NAME;10 SURNAME;10 AGE;3 ADDRESS;25
Resulting csv file:
" John";" Smith";" 35";" Freedom Street 10"; " Mickey";" Mouse";" 55";" Disneyland Avenue 185"; " John Jr.";" Smith";" 3";" Freedom Street 10";