txt2csv.py

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";