Py学习  »  Python

有没有在python控制台上记录自动生成的消息的方法?

vik2426 • 6 年前 • 1312 次点击  

我正在使用pandas加载一个csv文件,该文件只有很少的坏行。这意味着在几行中有一些额外的逗号,这就是熊猫无法加载的原因。我没意见。我在用 error_bad_lines=False 忽略这些行。当pandas忽略了这些坏行时,它会在控制台上显示如下消息:

b'Skipping line 3: expected 3 fields, saw 4\n

我想要的是能够加载数据,但是将这个跳过的行号记录在日志文件中。我学习了很多关于日志记录的教程,但是当熊猫在加载数据时跳过一个行号时,我找不到一种方法来记录这个自动生成的消息。

这是我用来加载文件的简单代码。

import pandas as pd
import os

def main():
    filename = "test_data3.csv"
    data= pd.read_csv(filename,error_bad_lines=False)
    print(data.head())


if __name__=="__main__":
    main()

这是我使用的示例数据

Col1,Col2,Col3
a,3,g4
b,4,s5,r
c,5,p9
f,6,v4,7
x,65,h5

如您所见,应该跳过第2行和第4行。但它需要记录在日志文件中。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37111
文章 [ 2 ]  |  最新文章 6 年前