日志服务IPython/Jupyter扩展实战:下载数据为Excel文件

简介: 想要将日志服务的日志下载并保存为Excel或者CSV格式,并且自动处理字段不一致的情况的话,该怎么办?通过使用日志服务IPython/Jupyter扩展,轻松做到这点。

问题

日志服务的数据并不要求统一格式,每条日志可以有不同的关键字集合,例如:

{"city": "123", "province": "vvv"}
{"city": "shanghai", "pop": "2000"}
{"name": "xiao ming", "home": "shanghai"}

因此一般使用日志服务的CLI下载的命令get_log_all或者pull_log_dump时,格式都是单行JSON格式以保证灵活性。

但是大部分情况下,一个日志库的所有日志的关键字集合总体是稳定的;另一方面,Excel格式(或者更简单的CSV格式)相对JSON更加商业应用和人类操作友好一些。

如果期望下载下来时是Excel或者CSV格式,并且自动处理字段不一致的情况的话,该怎么办?

本文通过使用日志服务IPython/Jupyter扩展,轻松做到这点。

前提

安装日志服务扩展

首先,参考文章日志服务IPythonIPython/Jupyter扩展完成安装(IPython Shell、IPython/Jupyter Notebook或者Jupyter Lab均可)

安装Excel相关组件

在IPython所在环境中安装Excel读写的相关组件:

pip install openpyxl xlrd xlwt XlsxWriter
  • openpyxl - 用于Excel 2010 xlsx/xlsm文件的读写
  • xlrd - 读取Exce (xls格式)
  • xlwt - 写Excel (xls格式)
  • XlsxWriter - 写Excel (xlsx)文件

配置

使用%manage_log配置好链接日志服务的相关入口、秘钥、项目和日志库等。具体参考这里

场景

1. 将结果保存到Excel中

通过查询命令%%log查询得到Pandas Dataframe,然后调用to_excel即可。

样例:

%%log -1day ~ now
* | select date_format(date_trunc('hour', __time__), '%H:%i') as dt,
        count(1)%100 as pv,
        round(sum(if(status < 400, 1, 0))*100.0/count(1), 1) AS ratio
        group by date_trunc('hour', __time__)
        order by dt limit 1000
df1 = log_df
df1.to_excel('output.xlsx')

2. 将结果保存到Excel多个Sheet中

通过%log%%log获得多个数据存在不同的Dataframe中后,如下样例操作:

import pandas as pd
writer = pd.ExcelWriter('output2.xlsx') 

df1.to_excel(writer, sheet_name='data1')
df2.to_excel(writer, sheet_name='data2')

writer.save()

3. 定制Excel细节格式

Pandas默认使用Xlwt模块xls文件、使用Openpyxl模块xlsx文件。而使用XlsxWriterxlsx功能更加全面灵活,但需要如下配置。

例如上面例子中的ExcelWriter构造时,增加参数即可:

writer = pd.ExcelWriter('output2.xlsx', engine='xlsxwriter') 

可以定制特定列的格式、样式、甚至直接画Excel图表。具体推荐参考这篇文章

4. 其他格式

Pandas DataFrame还可以保存其他格式,例如csvhtml等,可以进一步参考这里

进一步参考

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
6月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
6月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
8月前
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!
|
6月前
|
运维 安全 数据可视化
日志审查安排工具实战攻略:中小团队如何通过日志审查安排工具建立可控、安全的审查机制?
在审计敏感时代,日志审查安排工具成为安全运维与合规管理的关键利器。它实现审查任务的流程化、周期化与可视化,支持多系统协作、责任到人,确保“可控、可查、可追”的日志治理。工具如板栗看板、Asana、Monday 等提供任务调度、问题闭环与合规对接能力,助力企业构建高效、透明的日志审查体系,提升安全与合规水平。
|
6月前
|
Python
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
本文介绍了如何在Excel中使用VBA批量重命名工作表、根据单元格内容修改颜色,以及将工作表导出为独立文件的方法。同时提供了Python实现导出工作表的代码示例,适用于自动化处理Excel文档。
|
7月前
|
缓存 网络协议
(问题日志)解决因代理设置导致的npm包ECONNREFUSED下载错误
在AIoT-IDE中使用`npm i`安装依赖时,若出现长时间无响应及ECONNREFUSED错误,可能是网络配置或代理冲突导致。通过指定镜像源与日志排查,确认为旧代理配置遗留问题。解决步骤包括:验证镜像源可用性、清除npm缓存、检查并更新代理配置。最终重新设置正确代理端口后,依赖安装恢复正常。
226 2
|
6月前
|
Python
将Excel特定某列数据删除
将Excel特定某列数据删除
|
8月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
483 10
|
7月前
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
7月前
|
IDE 开发工具 Python
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级
魔搭notebook在web IDE下,使用jupyter notebook,python扩展包无法更新升级,不升级无法使用,安装python扩展包的时候一直停留在installing
203 4

相关产品

  • 日志服务