我正在阅读带有
的pandas的CSV文件error_bad_lines=False
遇到错线时会打印警告。但是,我想保留所有不良行号的记录,以便输入另一个程序。有没有简单的方法呢?
我想过用
迭代文件chunksize=1
并捕获应该为遇到的每条坏线抛出的CParserError。当我这样做虽然没有为坏线引发CParserError,所以我无法抓住它们。
答案 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)