gpt4 book ai didi

python-2.7 - Pandas 坏行警告捕获

转载 作者:行者123 更新时间:2023-12-04 07:35:50 26 4
gpt4 key购买 nike

Pandas 中是否有任何方法可以捕获通过设置 error_bad_lines = False 和 warn_bad_lines = True 产生的警告?例如以下脚本:

import pandas as pd
from StringIO import StringIO
data = StringIO("""a,b,c
1,2,3
4,5,6
6,7,8,9
1,2,5
3,4,5""")
pd.read_csv(data, warn_bad_lines=True, error_bad_lines=False)

产生警告:
Skipping line 4: expected 3 fields, saw 4

我想将此输出存储到一个字符串中,以便最终将其写入日志文件以跟踪被跳过的记录。

我尝试使用 警告 模块,但它看起来不像这个“警告”是传统意义上的。我正在使用 Python 2.7 和 Pandas 0.16。

任何帮助将不胜感激。

最佳答案

对于 Python 3 之前的版本,我无法为您提供帮助,但我在以下方面取得了非常好的成功:

import pandas as pd
from contextlib import redirect_stderr
import io

# Redirect stderr to something we can report on.
f = io.StringIO()
with redirect_stderr(f):
df = pd.read_csv(
new_file_name, header=None, error_bad_lines=False, warn_bad_lines=True, dtype=header_types
)
if f.getvalue():
logger.warning("Had parsing errors: {}".format(f.getvalue()))

我多次搜索这个问题并不断被指出这个问题。希望以后对其他人有所帮助。

关于python-2.7 - Pandas 坏行警告捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32334966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com