如何记录大熊猫跳过的坏行

时间:2017-03-17 11:23:29

标签: python pandas data-cleaning

我正在阅读带有

的pandas的CSV文件
error_bad_lines=False

遇到错线时会打印警告。但是,我想保留所有不良行号的记录,以便输入另一个程序。有没有简单的方法呢?

我想过用

迭代文件
chunksize=1

并捕获应该为遇到的每条坏线抛出的CParserError。当我这样做虽然没有为坏线引发CParserError,所以我无法抓住它们。

1 个答案:

答案 0 :(得分:5)

警告在标准错误通道中打印。您可以通过重定向sys.stderr输出将它们捕获到文件中。

import sys
import pandas as pd

with open('bad_lines.txt', 'w') as fp:
    sys.stderr = fp
    pd.read_csv('my_data.csv', error_bad_lines=False)