Необходимо использовать .End(xlup)
, но вместо того, чтобы использовать 65536 Вы могли бы хотеть использовать:
sheetvar.Rows.Count
Тот способ, которым это работает на Excel 2007, которому я верю, имеет больше чем 65 536 строк
FWIW, вам следует выполнить профилирование, но когда вы это сделаете, держу пари, вы обнаружите, что ответ - «опрос изменений в ваших файлах, чтобы он мог автоматически перезагружаться». Вы можете провести быстрый тест с помощью «python manage.py runserver --noreload» и посмотреть, как это влияет на использование ЦП.
Нажмите Control-C и завершите процесс. Вероятно, где-то произойдет сбой, на что он тратит много времени.
Или вы можете использовать профилировщик.
http://docs.python.org/library/profile.html
Это стандартный подход.
Стандартный подход - использовать профилировщик. Если по какой-то причине вы не можете этого сделать (например, в Apache modpython, на котором запущен ваш Django, нет профилировщика), лучше всего просто оснастить вашу программу журналированием. Наблюдайте за сообщениями вашей программы и посмотрите, чему вы можете научиться из них.
Если вы видите сообщение «Вход в CalculateFoo ()», а затем через пять секунд «Выход из CalculateFoo ()», это главная подсказка. Или если одна конкретная функция продолжает печатать снова и снова.
Вот краткое обсуждение ведения журнала Python.
РЕДАКТИРОВАТЬ: Я только что заметил, что вы специально сказали, что это на вашем рабочем столе Windows 7. Итак, используйте профилировщик. Но я оставлю этот ответ, чтобы охватить общий случай.