下面是一些工作过程中比较常见的工具方法,但不代表最终答案。希望能对你有所帮助,如果您有更好更多的方法工具,欢迎推荐!

1. 按行读取带json字符串的文件

# -*- coding:utf-8 -*-
import json
import sys with open("./aldwx-log-20.20190619194001.json.COMPLETED",'r') as load_f:
for line in load_f:
try:
load_dict = json.loads(line)
#server_time = load_dict['server_time']
#et = load_dict['et'] if load_dict.has_key("et") else server_time #三元表达式
except :
pass

2. 获取每日的时间列表

# -*- coding:utf-8 -*-
import datetime
def getBetweenDay():
date_list = [] #获取开始与结束时间,范例为获取最近7天时间
now_time = datetime.datetime.now()
begin_day = (now_time+datetime.timedelta(days=-7)).strftime("%Y%m%d")
end_day = (now_time+datetime.timedelta(days=-1)).strftime("%Y%m%d") begin_date = datetime.datetime.strptime(begin_day, "%Y%m%d")
end_date = datetime.datetime.strptime(end_day, "%Y%m%d") while begin_date <= end_date:
date_str = begin_date.strftime("%Y%m%d")
date_list.append(date_str)
begin_date += datetime.timedelta(days=1)
return date_list

3. 计量单位格式化输出

# -*- coding:utf-8 -*-
#计量单位格式化输出
def formatData(value):
units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB' ]
try:
size = float(value)
except:
return False if size < 0:
return False for unit in units:
if size >= 1024:
#中间结果保留4位小数。网上很多资料只注重最终的结果,导致最终结果误差很大
size = float('%.4f' %( size / 1024))
else:
size_h = '{0:.2f} {1}'.format(size, unit)
return size_h #超大数据仅保留到PB级
size_h = '{0:.2f} {1}'.format(size, units[-1])
return size_h

4. 元组转换为字典

# -*- coding:utf-8 -*-
def tuple_to_dic(results):
"""元组转换为字典,字典key为元组第一个值,字典值为元组第二个值的列表集"""
tmp_dic = {}
for i in range(len(results)):
if tmp_dic.has_key(results[i][0]):
tmp_dic[results[i][0]].append(results[i][1])
else:
tmp_dic[results[i][0]] = []
tmp_dic[results[i][0]].append(results[i][1])
return tmp_dic

示例:

代码如下

# -*- coding:utf-8 -*-

results = ((20190713,1),(20190713,2),(20190713,3),(20190714,4))

def tuple_to_dic(results):
"""元组转换为字典,字典key为元组第一个值,字典值为元组第二个值的列表集"""
tmp_dic = {}
for i in range(len(results)):
if tmp_dic.has_key(results[i][0]):
tmp_dic[results[i][0]].append(results[i][1])
else:
tmp_dic[results[i][0]] = []
tmp_dic[results[i][0]].append(results[i][1])
return tmp_dic
dic = tuple_to_dic(results)
print dic

输出结果为

{20190713: [1, 2, 3], 20190714: [4]}

持续更新中...

python 比较常见的工具方法的更多相关文章

  1. Python中常见字符串去除空格的方法总结

    Python中常见字符串去除空格的方法总结 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.s ...

  2. 基于Python的XSS测试工具XSStrike使用方法

    基于Python的XSS测试工具XSStrike使用方法 简介 XSStrike 是一款用于探测并利用XSS漏洞的脚本 XSStrike目前所提供的产品特性: 对参数进行模糊测试之后构建合适的payl ...

  3. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  4. Python:常见错误集锦(持续更新ing)

    初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...

  5. python基础===Python 代码优化常见技巧

    Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...

  6. SQLMAP注入教程-11种常见SQLMAP使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

  7. Python实现代码统计工具——终极加速篇

    Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...

  8. 潭州课堂25班:Ph201805201 爬虫基础 第七课 Python与常见加密方式 (课堂笔记)

    打开图形界面  18版 Python与常见加密方式 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时 ...

  9. [转]11种常见sqlmap使用方法详解

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...

随机推荐

  1. Jaba_Web--JDBC 修改记录操作模板

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  2. csp-j2019游记

    我一pj蒟蒻这点水平还来写游记? 算了,毕竟是第一次,记录一下吧 noip->csp 话说我跟竞赛是不是天生八字不合啊...... 小学的时候学小奥,等我开始报名比赛,当时似乎所有竞赛都被叫停了 ...

  3. P4430 小猴打架、P4981 父子

    prufer编码 当然你也可以理解为 Cayley 公式,其实这个公式就是prufer编码经过一步就能推出的 P4430 小猴打架 P4981 父子 这俩题差不多 先说父子,很显然题目就是让你求\(n ...

  4. XCTF练习题-WEB-webshell

    XCTF练习题-WEB-webshell 解题步骤: 1.观察题目,打开场景 2.根据题目提示,这道题很有可能是获取webshell,再看描述,一句话,基本确认了,观察一下页面,一句话内容,密码为sh ...

  5. Git上传本地仓库项目到gitee远程仓库(命令篇)

    前言:最近整理了一下自己之前的自学代码,包括一些练习的项目.发现有些杂乱,故想使用Gitte(码云)管理.加上不少公司使用Git,所以写了这篇文章记录. 如果我们本地有了项目,那么如何上传到码云上呢? ...

  6. Course Selection System ZOJ - 3956 01背包+思维

    Course Selection System ZOJ - 3956 这个题目居然是一个01背包,我觉得好难想啊,根本就没有想到. 这个题目把题目给的转化为  ans = a*a-a*b-b*b 这个 ...

  7. SpringBoot:整合SpringSecurity

    目录 SpringSecurity(安全) 搭建环境 使用 用户认证和授权 注销及权限控制 记住我及登录页面定制 SpringBoot 整合 SpringSecurity: 用户认证和授权.注销及权限 ...

  8. 自动化运维工具Ansible之Roles测验详解

    Ansible Roles 详解与实战案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: 3. 该用 ...

  9. Mybatis使用ResultMap

    解决字段名和属性名不一致的问题 - 新建数据库表的字段-这里就不贴上了 在下面链接有 https://www.cnblogs.com/rzkwz/p/12853899.html 设置实体类和数据库字段 ...

  10. 一分钟html页面倒计时可精确到秒

    <!doctype html> <html> <head> <meta charset="utf-8"> </head> ...