Since you are considering using SQL Loader, I would guess that you are using Oracle. The usual method is to load the data into a set of temporary tables. Then write some PL/SQL code to read through the temporary tables to reformat and insert into your table. This method works well with very large data sets.
An alternative method is to bypass SQL Loader + Pl/SQL by using awk to create an "insert" script. Like this...
$ cat Bukom.awk
BEGIN {
ins = "INSERT INTO bukom_table (locn, date, hour, strength) VALUES"
}
{
for (i=3; i<=NF; i++) {
printf "%s ('%s', %s, %s, %s);\n", ins,\
$1, $2, sprintf("%02d%02d", int((i-3)/2), int((i-3)%2)*30), $i
}
}
$ awk -f Bukom.awk Bukom.txt
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060101, 0000, 2.5);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060101, 0030, 2.6);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060101, 0100, 2.7);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060101, 0130, 2.8);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060101, 0200, 2.9);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060101, 0230, 2.3);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060101, 0300, 2.1);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060102, 0000, 2.4);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060102, 0030, 2.5);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060102, 0100, 2.6);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060102, 0130, 2.7);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060102, 0200, 2.7);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060102, 0230, 2.6);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060102, 0300, 2.4);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060103, 0000, 2.1);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060103, 0030, 2.3);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060103, 0100, 2.5);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060103, 0130, 2.6);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060103, 0200, 2.7);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060103, 0230, 2.7);
INSERT INTO bukom_table (locn, date, hour, strength) VALUES ('BUKOM', 20060103, 0300, 2.6);
There is a significant performance trade-off using this method over SQL Loader.