首页 > 编程语言 >python脚本把日志转成excel

python脚本把日志转成excel

时间:2023-11-23 12:13:22浏览次数:35  
标签:python args excel -- json file 日志

之前go写的,转成了python版本,日志是json格式的,按行读取


{"aid":"1111","cid":"2222","callback_url":"http:\/\/ad.toutiao.com\/track\/activate\/?callback=B.eDCQxxxxxGCB&os=0&muid=","advertiser_id":"111111","callback":"B.eDCQCLGVgVmGCB"}

import pandas as pd
import json,os,argparse
from datetime import datetime, timedelta
# 创建 ArgumentParser 对象
parser = argparse.ArgumentParser(description='日志转成excel')
# 添加命令行参数选项
# 注意:这里使用 `--name` 和 `--age` 表示长选项,使用 `-n` 和 `-a` 表示短选项
parser.add_argument('-path', '--path', type=str, help='请输入日志的绝对路径',default="/usr/share/nginx/html/server-api/runtime/logs/")
parser.add_argument('-outPath', '--outPath', type=str, help='请输入生成excel的绝对路径',default="/usr/share/nginx/html/server-api/runtime/logs/")
parser.add_argument('-fileName', '--fileName', type=str, help='请输入生成文件的名字',default="广告监控")
parser.add_argument('-name', '--name', type=str, help='请输入日志的前缀',default="click")
# 解析命令行参数
args = parser.parse_args()

# excel 头
header = ['aid','cid','callback_url','advertiser_id','token']

# json写到excel
def json_to_excel(json_file, excel_file,header):
    data = []
    with open(json_file, 'r') as f:
        for line in f:
            json_data = json.loads(line.strip())
            data.append(json_data)
    df = pd.DataFrame(data)
    df.to_excel(excel_file, index=False,header=header)

# 获取前一天的日期
def getPreDay():
    # 获取当前日期时间
    current_date = datetime.now()
    # 计算昨天的日期
    yesterday = current_date - timedelta(days=1)
    # 格式化日期为字符串
    formatted_date = yesterday.strftime("%Y-%m-%d")
    # 输出格式化后的日期
    return formatted_date

# 拼接源日志完整路径
textFilePath = args.path + args.name + "-" + getPreDay() + ".log"

# 创建文件夹
if not os.path.exists(args.outPath):
    # 文件夹不存在,创建文件夹
    os.makedirs(args.outPath)

# 拼接输出日志完整路径
excel_file = args.outPath + getPreDay() + "-" + args.fileName + ".xlsx"

# 执行json转excel
json_to_excel(textFilePath, excel_file,header)

脚本执行


python xxx.py --path=./ --outPath=./ --fileName=广告监控 --name=click

标签:python,args,excel,--,json,file,日志
From: https://www.cnblogs.com/qcy-blog/p/17851270.html

相关文章

  • excel翻译系统
    引用位置: TRIM(SUBSTITUTE(MID(SUBSTITUTE(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&A2&"&doctype=json"),"""tgt"":""",REPT("",500)),500,500),"""}]]}&......
  • python编译成可执行文件
    安装pipinstallpyinstaller执行pyinstaller--onefilexxxxx.py会在当前文件的同级目录生成dist文件夹,可执行文件就在里面......
  • Python通过tushare获取股票历史数据
    一、使用Tushare获取可参照官网:https://tushare.pro/步骤1:安装Tushare库在Python环境中使用pip命令安装Tushare库:pipinstalltushare步骤2:导入Tushare库在Python代码中导入Tushare库:importtushareasts步骤3:设置TushareToken在使用Tusha......
  • 基于python开发的股市行情看板
    近期股市又骚动起来,回忆起昔日炒股经历,历历在目,悲惨经历让人黯然神伤,去年共投入4000元入市,最后仅剩1000多,无奈闭关修炼,忘记股市,全身心投入代码世界,享受代码带来的乐趣。近日,当看到别人用python进行量化投资暴富的消息,顿时振奋,立刻学习起python数据分析之道,开发了一个股市行情看板,希......
  • 基于python的种子搜索网站-开发过程
    本讲会对种子搜索网站的开发过程进行详细的讲解。 项目开发过程项目简介该项目是基于python的web类库django开发的一套web网站,做为本人的毕业设计。本人的研究方向是一项关于搜索的研究项目。在该项目中,笔者开发了一个简单版的搜索网站,实现了对数据库数据的检索和更新。网站域名......
  • core中间件全局日志
    参考学习项目zradmin在Configure中配置请求参数缓存//使可以多次多去body内容app.Use((context,next)=>{context.Request.EnableBuffering();returnnext();//请求通道走向下一步});在Configure......
  • Dijkstra 算法python版
    算法策略Dijkstra算法是求一个图中一个点到其他所有点的最短路径的算法,先了解图的数据结构「邻接矩阵」Dijkstra算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度O(n2)B站视频:https://www.bilibili.com/vide......
  • 安装python连接eureka并且vector search milvus centos7
    先安装python到centos7第一步:安装必要的软件包,使用root权限:yumgroupinstall-y"Developmenttools"yuminstall-yncurses-develgdbm-develxz-develsqlite-develtk-develuuid-develreadline-develbzip2-devellibffi-devel第二步:Python官方地址:WelcometoPyth......
  • Sqlserver日志传送高可用搭建
    1.原理主数据库定时备份事务日志到共享文件夹,辅助数据库定时从共享文件夹把事务日志备份复制到本地文件夹中,辅助数据库定时将本地文件夹中的事务日志备份还原到数据库上。2.修改服务启动账户2.1.为什么修改如果使用默认的NTSERVICE\MSSQLSERVER用户启动SQLServer,NTSERVICE\S......
  • Python中列表和字符串常用的数据去重方法你还记得几个?
    (Python中列表和字符串常用的数据去重方法你还记得几个?)1关于数据去重关于数据去重,咱们这里简单理解下,就是删除掉重复的数据;应用的场景比如某些产品产生的大数据,有很多重复的数据,为了不影响分析结果,我们可能需要对这些数据进行去重,删除重复的数据,提高分析效率等等。2字符串......