깨끗한 DF로 들어가기를 원하는 까다로운 로그 파일이 있습니다. 로그 형식은 다음과 같습니다.팬더 데이터 프레임에 파선으로 로그 읽기
===============================================================================
2016/03/28 12:26:45 - Message
-------------------------------------------------------------------------------
2016/03/28 12:26:45 - Message
2016/03/28 12:26:45 - Message
Message
2016/03/28 12:26:45 - Message
2016/03/28 12:26:46 - Message
2016/03/28 12:26:46 - Message
2016/03/28 12:28:30 - Message
2016/03/28 12:28:40 - Message
2016/03/28 12:28:40 - Message
2016/03/28 12:28:40 - Message
-------------------------------------------------------------------------------
2016/03/28 12:28:40 - Message
===============================================================================
로그는 위의 패턴에서 계속됩니다. 제 목표는 다음 데이터 프레임을 갖는 것입니다. '-'와 Dataframe를 만들고, 점선을 제거
Time Text
2016/03/28 12:26:45 Message
는 난의 파일 파일을 구문 분석 피곤합니다. I가 NaN 열을 많이 얻을 그러나
import pandas as pd
from pandas.compat import StringIO
clean = open(filename).read().remove('-------------------------------------------------------------------------------', '')
clean2 = open(filename).read().replace('===============================================================================', '')
df = pd.read_csv(filename, sep = "\s*\-", names = ["Time", "Text"], engine = "python")
df.Time = pd.to_datetime(df.Time, format='%d/%m/%y %H:%M:%S.%f')
df.Text = df.Text
, 도움은 당신이 errors='coerce'
으로 to_datetime
를 사용하기위한 곳 NaT
열 Time
제거를위한 dropna
와 NaT
에 모든 행을 잘못된 데이터를 대체 할 수 있다고 생각
더블 대쉬 라인은 파일의 시작과 파일의 끝 부분에있는 스크립트의 끝에서? – jezrael
그들은 모든 섹션의 시작과 끝에 있기 때문에 로그 파일에는 이중 대시 파일의 인스턴스가 많습니다. 로그 파일은 게시물에 지정된 패턴을 따르므로이 패턴은 파일에서 여러 번 발생합니다 @jeszrael – ukbaz