python 比较常见的工具方法
下面是一些工作过程中比较常见的工具方法,但不代表最终答案。希望能对你有所帮助,如果您有更好更多的方法工具,欢迎推荐!
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 比较常见的工具方法的更多相关文章
- Python中常见字符串去除空格的方法总结
Python中常见字符串去除空格的方法总结 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.s ...
- 基于Python的XSS测试工具XSStrike使用方法
基于Python的XSS测试工具XSStrike使用方法 简介 XSStrike 是一款用于探测并利用XSS漏洞的脚本 XSStrike目前所提供的产品特性: 对参数进行模糊测试之后构建合适的payl ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- Python:常见错误集锦(持续更新ing)
初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...
- python基础===Python 代码优化常见技巧
Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...
- SQLMAP注入教程-11种常见SQLMAP使用方法详解
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...
- Python实现代码统计工具——终极加速篇
Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...
- 潭州课堂25班:Ph201805201 爬虫基础 第七课 Python与常见加密方式 (课堂笔记)
打开图形界面 18版 Python与常见加密方式 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时 ...
- [转]11种常见sqlmap使用方法详解
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了.今天把我一直 ...
随机推荐
- RF(读写 excel)
1.安装 ExcelLibrary 库:pip install robotframework-ExcelLibrary 但是 Python3.0 通过上面的命令安装 ExcelLibrary 时,会发 ...
- Visual Studio Code 缩放设置
Windows下的软件的操作都很类似,所以刚开始使用vs code的时候习惯性地使用Ctrl+鼠标滚轮进行缩放,然而在vs code上不管用. 在vs code中有两类缩放: 一.整体缩放:包括菜单栏 ...
- A. Guest From the Past(数学推式子)
\(n元,买塑料杯子a元,买玻璃杯子b元,但玻璃杯子用完后可以卖c元\) \(求最多买的杯子.\) \(---------------------------分割------------------- ...
- C# 基础知识系列- 17 小工具优化
0. 前言 不知道有没有动手能力强的小伙伴照着上一篇的内容写过程序呢?如果有的话,应该会在使用的时候发现以下几个问题: 每次启动都需要经过漫长的时间去遍历磁盘里的文件目录 因为数据是用的字典保存的,所 ...
- RabbitMQ|异步
目录 RabbitMQ|异步 1 概念|异步 1.1 同步与异步 1.2 比喻 2 生产者消费者设计模式 3 RabbitMQ介绍 3.1 主流消息队列比较: 3.2 RabbitMQ安装(mac电脑 ...
- JVM 虚拟机&&类加载(一)
虚拟机 虚拟机简介 Java 虚拟机(JVM)是运行java程序的抽象计算机,它是计算机设备的规范,可以采用不同方式进行实现,java 程序通过运行在JVM中实现跨平台,一次编译到处运行,不同的操作系 ...
- 【Hadoop离线基础总结】Hue与Hive集成
目录 1.更改hue的配置hue.ini 2.启动hive的metastore以及hiveserver2服务 3.启动hue进程,查看Hive是否与Hue集成成功 1.更改hue的配置hue.ini ...
- SAP CSO1创建BOM
1业务说明 此文档使用BAPI:BAPI_MATERIAL_BOM_GROUP_CREATE创建BOM 2前台实现 事务代码:CS01 输入行项目信息 保存即可 3代码实现 3.1调用BAPI 抬 ...
- 【OracleDB】 01 概述和基本操作
实例概念: Oracle有一个特殊的概念 Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例 实例处理Oracle的请求,调用文件系统 然后返回结果响应给客户端 单实例和多 ...
- Python拆分一列为多列
有的员工,没有公司开户行的银行卡,发放现金工资.有时人多,需要计算币数.现金工资表中,其中一列为实发工资,import pandas as pd,转化为pd.DataFrame. 面值[100,50, ...