尝试除了chunksize迭代器

问题描述 投票:1回答:1

我想读一个大的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

谢谢您的帮助 !!

python pandas chunks try-except
1个回答
5
投票

最近版本的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

© www.soinside.com 2019 - 2024. All rights reserved.