If the (some) of the header values are constant or you use a function to identify them in some way, you can use the "load when" clause:
create table t (
c1 varchar2(10),
c2 varchar2(10),
c3 varchar2(10),
c4 varchar2(10)
) organization external (
default directory tmp
access parameters (
records delimited by newline
load when (c1 = '123456')
fields terminated by ','
)
location ('test.csv')
);
select * from t;
C1 C2 C3 C4
---------- ---------- ---------- ----------
123456 20 20 1500
File contents:
123456,20,20,1500
abc,efg,hij,klm,nop,qrs
abc,efg,hij,klm,nop,qrs
abc,efg,hij,klm,nop,qrs
abc,efg,hij,klm,nop,qrs
abc,efg,hij,klm,nop,qrs
You'll need to create a separate external table for this though.