尝试除了chunksize迭代器

day*_*day 2 python chunks pandas try-except

我想读一个大的csv文件,所以我使用chunksizepandas 的方法迭代器.但我得到了一个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
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

NameError : name "ParserError" is not defined .

谢谢您的帮助 !!

cs9*_*s95 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`
Run Code Online (Sandbox Code Playgroud)

不需要while循环或错误处理,因为在处理和退出时耗尽时会pd.read_csv自动引发.StopIterationfor