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

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. CSDN排名及积分规则

    博客排行榜排名分值=个人Blog全部随笔与文章的阅读数之和+个人Blog全部评论数之和*10+个人所发表的评论数之和*50 CSDN博客积分计算规则: 1.每公布一篇原创或者翻译文章:可获得10分. ...

  2. Spring IOC的核心机制:实例化与注入

    上文我们介绍了IOC和DI,IOC是一种设计模式,DI是它的具体实现,有很多的框架都有这样的实现,本文主要以spring框架的实现,来看具体的注入实现逻辑. spring是如何将对象加入容器的 spr ...

  3. SpringBoot + MybatisPlus3.x 代码生成

    主要参考另外两篇博文,这里表示感谢 参考一(mybatisplus3.x分页) : https://www.jianshu.com/p/2ec9337dc2b0 参考二(mybatisplus2.x升 ...

  4. startUML简单使用教程

    最近在startUML上画图搞得我一个头两个大,找了一些比较实用的小方法分享给大家. 类图是可视化地表现类的属性和方法,以及类与类之间的关系. 1.类 a.类 普通实体类,它有对应的属性和方法: 双击 ...

  5. Java笔记(day14-17)

    集合类的由来: 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定. 就使用集合容器进行存储. 集合特点: 1,用于存储对象的容器. 2,集合的长度是可变的. 3,集合中不可以存储基本数据类 ...

  6. Git 获取远程仓库指定分支内容

    1. 在本地一个空的文件夹中 git init  (生成本地仓库) 2. 在刚刚的文件夹中随便建立一个文件 ,git add . (为了生成分支)(提交到暂存区) 3. git commit -m'1 ...

  7. 基于KepServer实现与S7-1200PLC之间的通信

    对于学习上位机开发,有一种通信方式是必须要了解的,那就是OPC是OLE for Process Control的简称,然而随着技术的不断发展,人们开始对它有了新的定义,比如Open Platform ...

  8. 【Swift】获取UILabel中点击的某个功能标签文字并作出响应动作

    1.需求 首先.针对UILabel中显示的多个功能标签,作出颜色标记提示. 其次.对关键字作出点击响应动作. 如图所示: 解决: 1.使用正则匹配到关键字 public static var hash ...

  9. matlab 调用C程序进行simulink仿真

    文章目录 simulink仿真 创建C程序 编译C程序 运行结果 simulink仿真 simulink仿真中需要使用S-Function模块,可以实现调用C程序进行仿真,下面先建立一个简单的仿真: ...

  10. arangodb安装

    这里仅介绍windows环境下的安装,直接官网下载安装包安装即可.安装完后进入安装目录进行配置. cd ArangoDB\\etc\\arangodb3 打开arangod.conf配置文件,修改以下 ...