-
时间和字符串互转
import time # 字符串类型转时间戳 time_array = time.strptime('2014-06-12', '%Y-%m-%d') time_stamp = time.mktime(time_array) print(time_stamp) # 数字转字符串 day= time.strftime('%Y-%m-%d %H:%M',time.localtime(1199116800.0)) print(day)
-
列表字典排序
from operator import itemgetter dict_list = [{"ming": 87}, {"mei": 93}, {"hua": 68}, {"jon": 75}, {"ston": 100}, {"jack": 56}] mid_dict = {key: value for x in dict_list for key, value in x.items()} mid_list = sorted(mid_dict.items(), key=itemgetter(1)) fin_list = [{x[0]: x[1]} for x in mid_list] print(fin_list) print(fin_list[-1])
-
列表生成式的加判断
# 第一种只有一个条件if l = [i for i in range(1,10) if i%2==0] print(l) # [2, 4, 6, 8] # 第二种,if...else l2 = ['偶数' if i%2==0 else i for i in range(1,10)] print(l2) # [1, '偶数', 3, '偶数', 5, '偶数', 7, '偶数', 9]
-
相似度计算并排序
from difflib import SequenceMatcher#导入库 def similarity(a, b): return SequenceMatcher(None, a, b).ratio()#引用ratio方法,返回序列相似性的度量 print(similarity('中国民族大学', '中国是世界上大学最多的国家')) # 0.42105263157894735 ## 计算相似度 from operator import itemgetter import Levenshtein #编辑距离,计算两个字符串之间的编辑距离 tmstatus_list=['商标申请中','商标已注册','商标无效'] simaler_value = [] for i in tmstatus_list: simaler_value.append({i:Levenshtein.ratio('看已经注册的sdfsadf', i)}) # max_value = max(simaler_value) # max_value print(simaler_value) # [{'商标申请中': 0.0}, {'商标已注册': 0.3333333333333333}, {'商标无效': 0.0}] ## 字典值排序 dict_list = simaler_value mid_dict = {key: value for x in dict_list for key, value in x.items()} mid_list = sorted(mid_dict.items(), key=itemgetter(1)) fin_list = [{x[0]: x[1]} for x in mid_list] print(fin_list) # [{'商标申请中': 0.0}, {'商标无效': 0.0}, {'商标已注册': 0.3333333333333333}] print([i for i in fin_list[-1]]) # ['商标已注册']
-
FastApi跨域设置 ----》主文件设置
import uvicorn from fastapi import FastAPI, Depends from fastapi.middleware.cors import CORSMiddleware origins = [ "*" # "http://127.0.0.1:6366", # "http://localhost:6366", # 'http://127.0.0.1', # 'http://localhost' ] import v1 from v1.Tool.PickKeys.routeStruct import Routenode, Route app = FastAPI( title=" 这什么API ", description="Do what u imagine ", version="1.0.1", docs_url="/docs", redoc_url="/redoc" ) # app.include_router(func_v1.router, prefix="/v1") app.include_router(v1.router, prefix="/v1") # 新增 import auth app.include_router(auth.router,prefix="/auth") app.add_middleware( CORSMiddleware, allow_origins=origins, #设置允许的origins来源 allow_credentials=True, allow_methods=["*"], # 设置允许跨域的http方法,比如 get、post、put等。 allow_headers=["*"], # 允许跨域的headers,可以用来鉴别来源等作用。 ) if __name__ == "__main__": uvicorn.run("FastapiMain:app", host="0.0.0.0", port=6322, # reload=True )
-
将DataFrame存入到MongoDB中
# DataFrame存入mongodb import json conn2 = MongoClient('localhost',27017) db2 = conn2['company'] coll2 = db2['company_qinquan'] # data3 为dataframe coll2.insert(json.loads(data3.T.to_json()).values())
-
DataFrame设置索引
# dataframe 新增一列 data3['index'] = range(1,75164) # 设置索引 data3.set_index(['index'])
-
pandas 读取excel 文件
df = pd.read_excel('E:/wang/东莞协会会员信息统计表.xlsx',engine='openpyxl')
-
生成11到1000的中文数字
# 生成1 到 10000的中文数字 # 数字映射 number_map = { "0": "零", "1": "一", "2": "二", "3": "三", "4": "四", "5": "五", "6": "六", "7": "七", "8": "八", "9": "九" } # 例子 ## 106 -----》 一百零六 # 116 -----》 一百一十六 # 34 -------》 三十四 # 10 -------》 十 # 238------》 二百三十八 # 计算-------- # # 百位数字 # 304//100%10 # # 十位数字 # 304//10%10 # # 个位数字 # 304//1%10 chinese_num = [] for i in num: if i<=99: # 十位数字 shiwei = i//10%10 # 个位数 gewei = i//1%10 if shiwei != 1: if gewei!=0: text = number_map.get(str(shiwei)) + '十' + number_map.get(str(gewei)) t = (text,3) chinese_num.append(t) else: text = number_map.get(str(shiwei)) + '十' t = (text,2) chinese_num.append(t) else: text ='十' + number_map.get(str(gewei)) t = (text,2) chinese_num.append(t) elif i<999: # 百位数字 baiwei = i//100%10 # 十位数字 shiwei = i//10%10 # 各位数字 gewei = i//1%10 if shiwei!=0 and gewei!=0: text= number_map.get(str(baiwei)) + '百' + number_map.get(str(shiwei)) + '十' + number_map.get(str(gewei)) t = (text,5) chinese_num.append(t) elif shiwei==0 and gewei!=0: text= number_map.get(str(baiwei)) + '百' + number_map.get(str(shiwei)) + number_map.get(str(gewei)) t = (text,4) chinese_num.append(t) elif shiwei!=0 and gewei==0: text= number_map.get(str(baiwei)) + '百' + number_map.get(str(shiwei)) + '十' t = (text,4) chinese_num.append(t) else: text= number_map.get(str(baiwei)) + '百' t = (text,2) chinese_num.append(t) else: text = '一千' t = (text,2) chinese_num.append(t) print(chinese_num)
-
判断是否是元组列表等对象
# 元组 i = (9,8) # 判断是否是元组 flag = isinstance(i,tuple)
-
列表分片,分页
# list_原始列表,per每个小列表的里面的个数,输出以字典格式 def cut_page(list_,per): list_of_group = zip(*(iter(list_),) * per) end_list = [list(i) for i in list_of_group] # i is a tuple count = len(list_) % per end_list.append(list_[-count:]) if count != 0 else end_list dic = {} for i in range(1,len(end_list)+1): dic[str(i)] = end_list[i-1] return dic # d,l = cut_page([1,2,3,4,6],9) # print(d) # print(l)
-
url编码,解码
from urllib.parse import quote text = quote('智能机器人', 'utf-8') print(text) from urllib.parse import unquote text = unquote(text, 'utf-8') print(text)
-
文本去除html5 标签
import re co = '<a href="//www.64365.com/fagui/article-640358.aspx" title="专利法" target="_blank" class="a-link">专利法</a>规定:当<a href="//www.64365.com/baike/zlqr/" title="专利权人" target="_blank" class="a-link">专利权人</a>的权利受到不法侵害时,可以请求<a href="//www.64365.com/baike/zl1/" title="专利" target="_blank" class="a-link">专利</a>' comp = re.compile('</?\w+[^>]*>') text_ = comp.sub('', co) print(text_)
-
随机从列表取元素
import random id_list = [1,2,9,6,3,8,7] # 随机取4个 l = random.sample(id_list,4) print(l) # 随机取一个 one = random.choice(id_list) print(one)
-
pandas 修改数据
>>> df.loc[1,'name'] = 'aa' #修改index为‘1’,column为‘name’的那一个值为aa。 >>> df.loc[1] = ['bb','ff',11] #修改index为‘1’的那一行的所有值。 >>> df.loc[1,['name','age']] = ['bb',11] #修改index为‘1’,column为‘name’的那一个值为bb,age列的值为11。
python常用操作,每日一记
于 2021-09-13 14:49:00 首次发布