我的性能日志中有非结构化数据。我想从中捕获服务细节。我可以做定界符,但是由于它没有任何标头,所以我无法计数或打印该coloum。
请帮助我解决这个问题。
import pandas as pd
df = pd.read_csv (r'/Users/Myhome/Documents/Py_Learning/log.csv', sep = '|' , skipinitialspace=True)
#df = pd.read_csv (r'/Users/Myhome/Documents/Py_Learning/log.csv', sep =':|,|[|]', engine='python', header=None) ---> Multi separator is giving error.
#df.groupby("CLIENT")
SERVICE = df.columns[4]
print (SERVICE)
如何在所有行中查找唯一的服务名称并获得计数。我想用上周的数据作为图表。
样本数据:
2019-10-22 15:35|Where:CARD|SERVICE:Dell|VERSION:1.0|CLIENT:HDD|OPERATION:boverdue|RESPONSETIME:0034|STATUS:100000:ERR_TRANSACTION_TIMED_OUT|SEVERITY:ERROR|STATUSCODE:SOAP-FAULT|STATUSMESSAGE:NA 2019-10-22 15:35|Where:Digital|SERVICE:Laptop|VERSION:1.0|CLIENT:mouse|OPERATION:connet|RESPONSETIME:3456|STATUS:NO_RECORDS_MATCH_SELECTION_CRITERIA|SEVERITY:INFO|STATUSCODE:1120|STATUSMESSAGE:NA
答案 0 :(得分:0)
首先,由于您的数据没有标题,因此需要设置header=None
。
df = pd.read_csv ('data.csv', sep = '|' , skipinitialspace=True, header=None)
然后要获取服务数据,只需执行
new_df = df.iloc[:,2].str.split(':', expand=True).iloc[:,1].value_counts()