首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫.logs文件到.csv文件

熊猫.logs文件到.csv文件
EN

Stack Overflow用户
提问于 2020-07-19 05:54:21
回答 1查看 173关注 0票数 0
代码语言:javascript
复制
    33 HEIGHT  5 5 INFO ABSENT FROM SCHOOL 123 

    He has been absent for 48 hours

                                                                     

     NOLAN Time:2020-07-14 12:34:08 PAUL

所以我有一个像上面这样的日志文件。这是日志的样本。它们都遵循这种格式。我能把它分解成我不同的领域。我在想如果有人能帮上忙的话。

这些是各种列和行:

COUNT|HEIGHT|MESSAGE_TITLE /BODY\SCHHO/DATETIME/NAME

学校缺席123他是.诺兰时间:2020-07-14 12:34:08

我从一开始就没有取得任何进展。

进口熊猫为PD进口NumPy为np进口glob进口os进口JSON进口wx从DateTime进口DateTime进口DateTime作为dt进口时间为t

导入matplotlib.pyplot作为可编程逻辑器件

进口xlsxwriter

以open('STUDENT_PROFILE.log')作为f:

代码语言:javascript
复制
log = f.readlines()
print(log)

len(log)

n = len(log)

在范围内(N):

代码语言:javascript
复制
log[i] = log[i].strip()

Log6.拆分(‘]’

日志6.拆分(‘]’)7

Log6.拆分(‘]’)7.上级()

S=log.split(‘]’).strip(‘[’‘)

dtfmt ='%Y-%m-%d %I:%M:%S‘# %H -> 24小时,%i- hours 12小时

dt2 = datetime.strptime(s,dtfmt)

对于日志中的行:

代码语言:javascript
复制
s1=line.split(']')[0].strip('[')

dt2 = dt.strptime(s1, dtfmt)

col1.append(dt2)

s= line.split(']')[1].strip().split(':')

col2.append(s[0])

if len(s) == 7:

    col3.append(s[1])
    col4.append(s[2])
    col5.append(s[3])
    col6.append(s[4])
    col7.append(s[5])
    col8.append(s[6])

else:

    col8.append(np.nan)

df = pd.DataFrame(col1、col2、col3、col4、col5、col6、col7、col8)

df = df.T

列=“计数”、“高度”、“MESSAGE_TITLE”、“BODY”、“SCHHOL”、“DATETIME”、“NAME”

df‘’delta_t‘=df.datetime - df.datetime

df‘’delta_t_秒‘=0

用于范围内的I(df.shape):

代码语言:javascript
复制
df.ix[i,'delta_t_seconds'] = df.delta_t.iloc[i].seconds

df.to_csv('test_log.csv',index=False)

任何想法..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-19 06:40:15

如果没有任何限制,这应该是可行的。注意有5 5的部分,您需要处理添加句点。Regex只是匹配一组模式;因此它的工作不是添加或删除字符。

此外,我注意到您正在逐行阅读,并对它们进行迭代。为了使这个模式工作,它假设一个多行字符串,所以您需要用换行符加入数组。

这绝不是一个优雅的解决方案,也绝不是一个具有有限示例输入或约束的防弹解决方案。

模式

代码语言:javascript
复制
\s+(\d+)\s+HEIGHT\s+(\d\s\d{1,2})\s+([^\n\r]+)\W+([^\n]+)\W+([A-Z]+)\sTime:(\S+\s+\S+)\s+([A-Z]+)

请参阅演示这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62976788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档