У меня есть очень большой файл CSV, который содержит более 500 миллионов строк.Извлечение строк из чрезвычайно большого (48 ГБ) CSV-файла на основе условия
Но Мне нужно всего несколько тысяч строк, исходя из определенного состояния. Я в данный момент с помощью:
with open('/home/Documents/1681.csv', 'rb') as f:
reader = csv.DictReader(f)
rows = [row for row in reader if row['flag_central'] == 1]
Здесь условие, что если flag_central == 1
, мне нужна строка.
Однако, поскольку файл чрезвычайно огромен, я не могу выполнить вышеуказанный код. Я считаю, что это из-за цикла for
, который я использую, что вызывает эту проблему.
Есть ли в любом случае я могу извлечь эти определенные строки из файла CSV на основе вышеуказанного условия?
использовать grep и фильтровать то, что вы хотите, и направить его на python и прочитать его как csv. – YOU
@YOU: Не могли бы вы привести пример в качестве ответа? – ThePredator
Его просто подсказка. – YOU