Python 常用整理-坚持记录

目录

1.时间处理

2.字典取值jsonpath - for循环简化 

3.args的使用方法

4.取整和排序

5.读取config 文件:configparser

6. excel 文件存储数据


  • 1.时间处理

  1. 当前时间:2022-03-29
  2. 日期增加按月:2023-03-29
  3. 日期增加按天:2022-03-02
import time
from dateutil.relativedelta import relativedelta

print(time.strftime("%Y-%m-%d", time.localtime()))
print(str(datetime.date.today() + relativedelta(months=+12)))
print(str(datetime.date.today() + relativedelta(day=+2)))
  • 2.字典取值jsonpath - for循环简化 

item_response = {
  "error_code" : 0,
  "error_message" : "SUCCESS",
  "unix_time" : 1648021129140,
  "data" : {
    "start" : 0,
    "rows" : 20,
    "total" : 2,
    "record" : [ {
      "id" : 1470763435556928,
    }, {
      "id" : 1470763456528448,
    }
 ]
  }
}

info = []
for i in range(item_response['data']['total']):
    info .append(item_response['data']['record'][i]['id'])

info1 = jsonpath.jsonpath(item_response, '$.data.record[*].id')
print(info,info1)

  • 3.args的使用方法

*args的使用方法:可以理解为只有一列的表格,长度不固定。

      *args 用来将参数打包成tuple给函数体调用

**kwargs的使用方法:可以理解为字典,长度也不固定。

      **kwargs 打包关键字参数成dict给函数体调用

def function(arg,*args,**kwargs):
    print(arg,args,kwargs)

function(6,7,8,9,a=1, b=2, c=3)

  • 4.取整和排序

  1. 向上取整:math.ceil()
  2. 向下取整:math.floor()、整除"//"
  3. 四舍五入:round()——奇数向远离0取整,偶数去尾取整;或言之:奇数进位,偶数去尾
  4. 向0取整:int()
  5. reverse()方法:反转排序
  6. sort()排序方法:正向排序,sort(reverse=True)反向排序
  7. sorted()方法:即可以保留原列表,又能得到已经排序好的列表

  • 5.读取config 文件:configparser

    import configparser
    import os
    import inspect
    
    class read(object):
        def __init__(self):
            this_file = inspect.getfile(inspect.currentframe())  #定义该函数的脚本文件的路径,包含脚本名称
            self.path = os.path.abspath(os.path.dirname(this_file)) #绝对路径到文件夹(不包含脚本名称)
    
        def readconfig(self, filename, section, option):
            path_config = self.path.replace('folder1','folder2')  #将self.path字符串栏目的folder1替换为folder2
            config = configparser.ConfigParser()
            config.read(os.path.join(path_config,filename)) #连接两个或更多的路径名组件
            
            return config.get(section , option)

  • 6. excel 文件存储数据

    from openpyxl import load_workbook
    
    def import_file_rewrite(filename,sheetname,data):
        file = "{}/file/{}".format(file_path.BASE_PATH, filename)
        wb = load_workbook(file)  # 打开Excel文件
        sheet = wb[sheetname]  # 通过excel表格名称(rank)获取工作表
        # 删除历史数据
        title = [i.value for i in list(sheet.rows)[0]]
        sheet1 = wb.create_sheet('My Sheet New')
        sheet1.append(title)
        start = time.time()
        del wb[sheetname]
        time.sleep(1)
        wb.save(file)
        end = time.time()
        # print(end - start)
        time.sleep(2)
        sheet1.title = sheetname
        sheet = wb[sheetname]
        wb.save(file)
        for d in data:
            sheet.append(d)
        wb.save(file)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值