Я пытаюсь прочитать файл csv. Проблема в том, что она слишком велика, и мне пришлось использовать обработчик ошибок. Внутри обработчика ошибок я должен позвонить csv.field_size_limit()
. Это не работает даже само по себе, так как я продолжаю получать ошибку «предел должен быть целым». Из дальнейших исследований я обнаружил, что это, вероятно, ошибка установки. Я установил все сторонние инструменты с помощью диспетчера пакетов, поэтому я не уверен, что может произойти неправильно. Любые идеи о том, как исправить эту проблему?Проблема с CSV-считывателем в Enthought Canopy
import sys
import csv
maxInt = sys.maxsize
decrement = True
while decrement:
decrement = False
try:
csv.field_size_limit(maxInt)
except OverflowError:
maxInt = int(maxInt/10)
decrement = True
with open("Data.csv", 'rb') as textfile:
text = csv.reader(textfile, delimiter=" ", quotechar='|')
for line in text:
print ' '.join(line)
Привет, Роберт, благодарю вас за помощь. Основная проблема, если я не знаю, как оценить размер поля, поскольку файл не открывается в excel (файл слишком велик). Я попытаюсь обойти это, изменив файл в текст и надеясь, что все будет хорошо. – Black
Вы можете открыть файл как текст, перебрать строки и взять максимальную длину строки. Установите это как максимальный размер поля CSV, затем снова откройте файл как CSV. –
Ах ладно. Да, это звучит как отличная идея. Еще раз спасибо Роберт :) – Black