【发布时间】:2013-09-18 21:29:17
【问题描述】:
我正在尝试运行以下代码,但由于某种原因,我收到以下错误:“TypeError:limit must be an integer”。
读取csv数据文件
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)
错误出现在星号行。我只在 csv 读取语句上方添加了额外的位,因为文件太大而无法正常读取。或者,我可以将文件从 csv 更改为文本文件,但我不确定这是否会进一步损坏数据我实际上无法看到任何数据,因为文件大于 2GB,因此打开成本很高。
有什么想法吗?我对 Python 还很陌生,但我真的很想了解更多。
【问题讨论】:
-
无法复制。代码在这里编译并且没有返回错误。
-
我打电话给
csv.field_size_limit(sys.maxsize)没有问题 -
这发生在什么操作系统上?
-
Windows 7。使用名为“Enthought Canopy”的 Python IDE,其中包含一堆软件包。目前, csv.field_size_limit(maxInt) 标记前面提到的限制错误,即使我自己运行它也是如此。有没有办法检查当前安装是否正确?