Python – чтение 1000 строк из файла за раз

Я проверил это , это и это .

У 3-й ссылки, казалось, был ответ, но он не выполнял эту работу.

У меня не может быть решения, где весь файл будет доставлен в основную память, так как файлы, с которыми я буду работать, будут очень большими. Поэтому я решил использовать islice как показано в третьей ссылке. Первые 2 ссылки были неактуальны, поскольку они использовали его только для двух строк или читали 1000 символов. В то время как мне нужно 1000 строк. for now N is 1000

Мой файл содержит 1 миллион строк:

Образец:

 1 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 

Поэтому, если я читаю 1000 строк за раз, я должен пройти через 1000 раз, но когда я печатаю p чтобы проверить, сколько раз я проходил, он не останавливается на 1000 . Он достиг 19038838 после запуска моей программы на 1400 секунд!

КОД:

 def _parse(pathToFile, N, alg): p = 1 with open(pathToFile) as f: while True: myList = [] next_N_lines = islice(f, N) if not next_N_lines: break for line in next_N_lines: s = line.split() x, y, w = [int(v) for v in s] obj = CoresetPoint(x, y) Wobj = CoresetWeightedPoint(obj, w) myList.append(Wobj) a = CoresetPoints(myList) client.compressPoints(a) // This line is not the problem print(p) p = p+1 c = client.getTotalCoreset() return c 

Что я делаю не так ?

One Solution collect form web for “Python – чтение 1000 строк из файла за раз”

Как сказал @ Ev.kounis, ваш цикл while не работает должным образом.

Я бы рекомендовал пойти на функцию доходности для фрагмента данных в такое время:

 def get_line(): with open('your file') as file: for i in file: yield i lines_required = 1000 gen = get_line() chunk = [next(gen) for i in range(lines_required)] 
  • Как обернуть указатель и длину C в объект буфера нового стиля в Cython?
  • Байт-массив в шестнадцатеричную строку
  • В Pyramid Framework какова разница между стандартным Unencrypted Session Factory и настройкой файлов cookie вручную?
  • Получение PyGame для импорта в интерпретаторе Python после установки MacPorts
  • преобразовать фрейм данных python в список
  • Pandas обновляет выходные дни до ближайшего рабочего дня
  • Регулярное выражение для выделения между двумя строками (которые являются переменными)
  • Попытка генерировать случайные координаты x, y внутри кольца в python
  • Python - лучший язык программирования в мире.