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)] 
  • Полоса выполнения при загрузке файла в Dropbox
  • Получить температуру процессора в python на окнах
  • Не удается остановить веб-сервер в Google App Engine Launcher
  • Строковое выражение Python 2 не распознается с помощью Python 3
  • Webbrowser в Python
  • Запустить приложение Python из браузера
  • python manage.py migrate не работает на anaconda
  • Есть ли ярлык Python для __init__, который просто устанавливает свойства?
  • Reindexing pandas timeseries от объекта dtype до datetime dtype
  • возможно ли запустить pygame или pyglet в браузере?
  • Запустите анимацию gif только один раз на kivy
  •  
    Interesting Posts for Van-Lav

    Конечные метрические вложения: хороший алгоритм?

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

    Панды: гистограмма с фиксированной шириной

    Получить последнее исключение в pdb

    Как преобразовать целое число в шестнадцатеричное без дополнительных «0x» ведущих и «L» конечных символов в Python?

    Лучший способ включения сторонних зависимостей в приложение Python

    Панды: добавление столбца с вычислениями из других столбцов

    Как добавить и удалить из переменной среды «PATH»?

    Эквивалент NotImplementedError для полей в Python

    email.retr извлекает странные = 20 символов, когда тело письма имеет в нем китайские символы

    Внешний вид класса Django Call Class из другого класса

    «RuntimeError: убедитесь, что исполняемые файлы Graphviz находятся на пути вашей системы» после установки Graphviz 2.38

    Nodebox open GL Graph, функция размера не распознана. (Ubuntu)

    Python решает уравнение для одной переменной

    Как создать массив numpy из строки?

    Python - лучший язык программирования в мире.