我想读一个大的csv文件,所以我使用pandas的chunksize
方法迭代器。但我获得了一个ParserError
,所以我想使用try除了当我得到这个错误时,我想传递给下一个块迭代。所以我测试了:
df = pd.read_csv("file.csv",iterator=True)
d=True
while d==True :
try:
df.get_chunk(500000)
exept ParserError :
pass
except StopIteration:
d=False
但是我得到了这个错误:
NameError : name "ParserError" is not defined
。
谢谢您的帮助 !!
最近版本的pandas允许read_csv
接受迭代时可以传递的chunksize
参数。
for chunk in pd.read_csv("file.csv",
chunksize=500000,
iterator=True,
error_bad_lines=False,
engine='python'):
... # do something with `chunk`
不需要while
循环,或用于错误处理,因为当pd.read_csv
处理和退出时,StopIteration
会自动引发for
。