我正在使用pandas加载一个包含一些错误行的csv文件。这意味着在一些行中有一些额外的逗号,因此pandas无法加载它。对我来说没关系。我使用error_bad_lines=False
来忽略那些行。当pandas忽略这些错误行时,它会在控制台上显示如下消息:
b'Skipping line 3: expected 3 fields, saw 4\n
我希望能够加载数据并在日志文件中记录跳过的行数。我查看了很多关于日志记录的教程,但没有找到在pandas加载数据时自动跳过一行时记录此消息的方法。这是我用来加载文件的简单代码。
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行应该被跳过。但是它需要被记录在日志文件中。