December 29, 2014
When we import data from ASCII (plain text) files, sometimes the data in the input files are arranged in columns separated by different characters. This article shows how to configure Import Wizard / ASCII Importer to import such data correctly.
Let us consider data file using the following format
Ticker,Date/Time,Open,High,Low,Close,VolumeEURUSD,2011-06-13 20:19:00,1.4421,1.4421,1.4419,1.4419,332EURUSD,2011-06-13 20:20:00,1.4419,1.4419,1.4418,1.4418,298EURUSD,2011-06-13 20:21:00,1.4418,1.4418,1.4416,1.4417,192
In this sample data file columns are separated with a comma, with one exception – date and time columns are combined together, with a space in between. ASCII importer requires us to specify Date and Time columns separately. Fortunately – there is a way to treat space and comma both as separators at the same time.
To configure Import Wizard, we need to specify columns to match the input data, treating Date and Time as two separate columns (Column 2 and Column 3 in this case), additionally we need to set Separator field as Comma or Space, so the importer would properly recognize space as a character delimiting the new column.
This way our data will be imported properly. There are also other multiple separator choices available in the Import Wizard, such as Tab or Space and Semicolon or Space that can be used if your data file uses tabs or semicolons as primary column separator.
If we build our import definition file manually for ASCII importer, we can also specify multiple separators, by enclosing the required characters in quotation marks in $SEPARATOR command. The equivalent format definition for the above input data would look like this:
$FORMAT Ticker, Date_YMD, Time, Open, High, Low, Close, Volume$SKIPLINES 1$SEPARATOR ", "$CONT 1$GROUP 255$AUTOADD 1$DEBUG 1