Чтение случайных строк из огромного CSV-файла в Python

У меня есть довольно большой CSV-файл (15 Гб), и мне нужно прочитать из него около 1 миллиона случайных строк. . Насколько я вижу и реализую, утилита CSV в Python позволяет выполнять только последовательную итерацию в файле.

Чтение всего файла в память для использования случайного выбора занимает очень много памяти, а просмотр всего файла и отбрасывание одних значений и выбор других занимает очень много времени, так что, существует ли возможность выбора случайных значений? строку из файла CSV и читать только эту строку?

Безуспешно пытался:

   import csv

    with open('linear_e_LAN2A_F_0_435keV.csv') as file:
        reader = csv.reader(file)
        print reader[someRandomInteger]

Образец CSV-файла:

331.093,329.735 
251.188,249.994 
374.468,373.782 
295.643,295.159 
83.9058,0 
380.709,116.221 
352.238,351.891 
183.809,182.615 
257.277,201.302
61.4598,40.7106
30
задан the wolf 30 May 2012 в 17:03
поделиться