Python - CSV ориентированный на время транспонирование большого количества столбцов в строки

У меня есть много CSV-файлов, которые ориентированы на «столбцы» и которые мне нужно предварительно обработать, чтобы окончательно проиндексировать их.

Это ориентированные на время данные с очень большим количеством столбцов для каждого «устройства» (до 128 столбцов), например:

LDEV_XXXXXX.csv             
Serial number : XXXXX(VSP)              
From : 2014/06/04 05:58             
To   : 2014/06/05 05:58             
sampling rate : 1               

"No.","time","00:30:00X(X2497-1)","00:30:01X(X2498-1)","00:30:02X(X2499-1)"
"242","2014/06/04 10:00",0,0,0
"243","2014/06/04 10:01",0,0,0
"244","2014/06/04 10:02",9,0,0
"245","2014/06/04 10:03",0,0,0
"246","2014/06/04 10:04",0,0,0
"247","2014/06/04 10:05",0,0,0

Моя цель состоит в том, чтобы переместить (если это правильный термин) данные в строки, так что я смогу манипулировать данными гораздо более эффективно, например:

"time",device,value
"2014/06/04 10:00","00:30:00X(X2497-1)",0
"2014/06/04 10:00","00:30:01X(X2498-1)",0
"2014/06/04 10:00","00:30:02X(X2499-1)",0
"2014/06/04 10:01","00:30:00X(X2497-1)",0
"2014/06/04 10:01","00:30:01X(X2498-1)",0
"2014/06/04 10:01","00:30:02X(X2499-1)",0
"2014/06/04 10:02","00:30:00X(X2497-1)",9
"2014/06/04 10:02","00:30:01X(X2498-1)",0
"2014/06/04 10:02","00:30:02X(X2499-1)",0

И так далее...

Примечание: я позволил необработанным данным (которые использует "," в качестве разделителя), вы должны заметить, что мне нужно удалить 6 первых строк столбца "Нет", который не представляет интереса, но это не главная цель и трудность)

У меня есть стартовый код Python для транспонирования данных CSV, но это не совсем то, что мне нужно ...

import csv
import sys
infile = sys.argv[1]
outfile = sys.argv[2]

with open(infile) as f:
    reader = csv.reader(f)
    cols = []
    for row in reader:
        cols.append(row)

with open(outfile, 'wb') as f:
    writer = csv.writer(f)
    for i in range(len(max(cols, key=len))):
        writer.writerow([(c[i] if i<len(c) else '') for c in cols])

Обратите внимание, что число столбцов является произвольным, может быть несколько, и до 128 в зависимости от файлов.

Я почти уверен, что это общая необходимость, но я пока не смог найти точный код Python, который это делает, или я не смог получить ...

Редактировать:

Больше точности:

Каждая строка метки времени будет повторяться количеством устройств, так что файл будет иметь гораздо больше строк (умноженное на количество устройств), но только несколько строк (метка времени, устройство, значение). Окончательный желаемый результат был обновлен: - )

Редактировать:

Я хотел бы иметь возможность использовать сценарий, используя аргумент1 для infile и аргумент2 для outfile :-)

Ответы на вопрос(2)

Ваш ответ на вопрос