Как я могу частично прочитать огромный файл CSV?

У меня очень большой файл csv, поэтому я не могу прочитать их все в памяти. Я только хочу читать и обрабатывать несколько строк. Поэтому я ищу функцию в Pandas, которая могла бы справиться с этой задачей, с которой базовый python может справиться с этой задачей:

with open('abc.csv') as f: line = f.readline() # pass until it reaches a particular line number.... 

Однако, если я это делаю в пандах, я всегда читаю первую строчку:

 datainput1 = pd.read_csv('matrix.txt',sep=',', header = None, nrows = 1 ) datainput2 = pd.read_csv('matrix.txt',sep=',', header = None, nrows = 1 ) 

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

Причина, по которой я хочу использовать панды, потому что я хочу читать данные в кадре данных

  • Необходимо добавить пространство между SubPlots для метки оси X, возможно, удалить маркировку осевых надрезов
  • Не удается запустить Python из строки cmd
  • Как python присваивает значения после оператора присваивания
  • svg-диаграммы с использованием python
  • Вывод данных для сборки в Python-протоколировании MemoryHandler с SMTPHandler
  • ttk.OptionMenu () отображение галочки во всех меню
  • Эффективное выполнение нескольких замещений строк в Python
  • Как фильтровать запрос в sqlalchemy по году (столбец datetime)
  • 2 Solutions collect form web for “Как я могу частично прочитать огромный файл CSV?”

    Используйте chunksize :

     for df in pd.read_csv('matrix.txt',sep=',', header = None, chunksize=1): #do something 

    Чтобы ответить на свою вторую часть, выполните следующие действия:

     df = pd.read_csv('matrix.txt',sep=',', header = None, skiprows=1000, chunksize=1000) 

    Это пропустит первые 1000 строк, а затем прочитает только следующие 1000 строк, давая вам строки 1000-2000, неясно, нужны ли конечные точки для включения или нет, но вы можете возиться с цифрами, чтобы получить то, что вы хотите.

    В дополнение к EdChums ответьте, если найден аргумент nrows который просто определяет количество строк, которые вы хотите импортировать. Таким образом, вы не получаете итератора, а можете просто импортировать часть всего файла с размерами. Он также работает со skiprows .

     df = pd.read_csv('matrix.txt',sep=',', header = None, skiprows= 1000, nrows=1000) 
    Python - лучший язык программирования в мире.