Это интересный вопрос, но, вероятно, быстрее написать сценарий, который генерирует ваши преобразования, которые копируют / вставляют строку заголовка из CSV в соответствующий сценарий.
Например, это работает в LINQPad (C #)
void Main()
{
string input = "adasda|sadasd|adasd|";
char delim = '|';
StringBuilder sql = new StringBuilder();
sql.AppendLine("SELECT * FROM table WHERE ");
foreach (string s in input.Split(delim))
{
if (!String.IsNullOrEmpty(s))
sql.Append(s).AppendLine(" IS NULL OR ");
}
sql.ToString().Trim('\r', '\n', 'O', 'R',' ').Dump();
}