
Python
文章平均质量分 50
fly_Xiaoma
技术分享,技术学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sqlalchemy外键的正向查询与反向查询(一对多)
sqlalchemy数据库外键中的正向引用与反向引用父表:被引用方的表子表:引用父表的表(表中有父表的字段,一般是父表id,并且定义relationship)正向查询:在子表中,查询父表的信息反向查询:通过父表,查询子表的信息定义父表:class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True, autoincrement=True) usern...原创 2021-01-22 13:35:29 · 2148 阅读 · 2 评论 -
python后端总结(django)
目录1、TCP通信的三次握手2、tornado框架如何处理http请求的3、解释一下uWSGI4、解释一下nginx5、re正则表达式5.1 正则表达式中match和search的区别5.2 group 与groups的区别5.3 符号 .* 与 .*? 的区别6、django的并发和多线程7、http与tcp的关系8、Linux日志文件中关键词查找命令8.1 查看日志前n行8.2 查看日志后n行8.3 关键字搜索命令(返回含有关键字的行)9...原创 2021-01-21 09:01:44 · 1752 阅读 · 3 评论 -
Celery进阶
目录1、Celery2、Celery的常用用法2.1 编写装饰器2.2 编写配置文件2.3 命令行启动2.4 任务调用1、CeleryCelery是一个基于分布式消息传输的异步任务队列,支持即插即用,使用异步处理问题(如文件上传、图像、音频处理等比较耗时的任务,注意与apscheduler定时框架的区别)。Celery通过消息进行通信(与中间件的机制类似,如东方通公司的TongLink/Q),主要由三块组成:client(客户端)、Broker(中间人)以及work.原创 2020-12-17 23:02:09 · 546 阅读 · 5 评论 -
对一个哈希表(字典)进行排序
例如:对如下的一个字典的value进行降序排序{'如何挂失身份证?': 114, '住房公积金的到账时间?': 320, '失业金': 18, '失业补助金什么时候可以下发到个人?': 1, '失业金领取标准': 1}思路:采用借助lambda和python内置函数 sorted():result=sorted(hash_dic.items(),key=lambda x:x[1])...原创 2020-09-24 17:32:14 · 1233 阅读 · 0 评论 -
python 后台自动运行程序
以后台方式运行程序要添加 "&":python run.py &注意:如果使用ssh方式连接的服务器,需要使用命令:exit退出,不要直接关闭,否则会关闭对应进程。查看所有的后台进程:ps -ef或者:ps -aux查看指定的进程,如uwsgi:ps -ef|grep uwsgi...原创 2020-08-12 15:43:25 · 3467 阅读 · 0 评论 -
uWSGI某一个进程的启动、重启与停止
一台服务器上可能会部署好多python程序,在某一个工程的根目录下按照下面的操作即可进行该工程的启动、重启与停止:uWSGI 通过 xxx.ini 启动后会在相同目录下生成一个 xxx.pid 的文件,里面只有一行内容是 uWSGI 的主进程的进程号。启动:uwsgi --ini xxx.ini重启:uwsgi --reload xxx.pid停止:uwsgi --stop xxx.pid...原创 2020-07-13 17:45:12 · 1351 阅读 · 1 评论 -
excel中的不同行设置不同的字体颜色
工具:xlwtimport xlwtimport pandas as pddf_data=pd.read_excel('total_data2.xlsx')filename=(u'热门.xlsx') #要保存的文件路径wb = xlwt.Workbook()sheet = wb.add_sheet('sheet1')style = "font:colour_index orange;" #设置字体颜色yellow_style = xlwt.easyxf(style)hot_原创 2020-07-06 12:01:16 · 1481 阅读 · 0 评论 -
pandas将不同excel(DataFrame)合并到同一个excel的不同sheet(工作表)
直接上代码:import pandas as pd# 读取表格re=pd.read_excel('total_data.xlsx')re2=pd.read_excel('total_data2.xlsx')hot_topic=pd.read_excel('热门.xlsx')high_freq=pd.read_excel('高频.xlsx')question_=pd.read_excel('高频问题.xlsx')#合并excel到不同的sheetwriter=pd.ExcelWrit原创 2020-07-06 09:19:04 · 1765 阅读 · 1 评论 -
pandas读取html页面中的表格数据
说明:直接调用pands中的pd.read_html(url)函数,如果页面中有表格,那么表格数据会以DataFrame格式存储下来。比如我要获取下面的数据:调用代码:import pandas as pdpd.set_option('display.width',1000)pd.set_option('display.max_row',1000)pd.set_option...原创 2020-04-01 17:56:19 · 4917 阅读 · 0 评论 -
数据库连接
使用pymsql连接数据库,查询数据库中的表格,并使用pandas读取表格。import pymysqlpymysql.install_as_MySQLdb()from sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import create_engineimport pandas as pd...原创 2019-12-20 11:31:02 · 157 阅读 · 0 评论 -
再看continue
Python continue 语句跳出本次循环,而break跳出整个循环。continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句用在while和for循环中。如:#!/usr/bin/python# -*- coding: UTF-8 -*- for letter in 'Python': # 第一个实例...原创 2019-12-10 11:49:14 · 137 阅读 · 0 评论 -
itertools中的combinations和permutaions的函数区别
先看个例子:from itertools import combinations,permutationss='abc'list1=list(combinations(s,3))print(list1)list2=list(permutations(s,3))print(list2)输出结果:[('a', 'b', 'c')][('a', 'b', 'c'), ...原创 2019-12-06 11:04:30 · 336 阅读 · 0 评论 -
字典dict与str类型互转
描述eval() 函数用来执行一个字符串表达式,并返回表达式的值。语法以下是 eval() 方法的语法:eval(expression[, globals[, locals]])参数expression -- 表达式。 globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 locals -- 变量作用域,局部命名空间,如果被提供,可以是任...原创 2019-10-28 15:01:17 · 1774 阅读 · 0 评论 -
python提取pdf文件中的表格
在做pdf文字抽取时,pdfplumber会与pdfminer3k有版本冲突,而且接口的封装性、抽取效果也没有pdfplumber好,所以强烈建议使用pdfplumber,抛弃pdfminer3k。1、工具pdfplumberpip install pdfplumber2、调用方法extract_tables() extract_table()3、详细使用extrac...原创 2019-10-24 18:48:46 · 7594 阅读 · 2 评论 -
groupby()函数和reset_index()
pandas中的groupby()函数:选择某一列进行分组。(加上size()函数---统计本列中的元素出现频次) reset_index():重新分配索引如:import pandas as pddf = pd.DataFrame({'key1':list('aabba'), 'key2': ['one','two','one','two','on...原创 2019-07-18 12:06:29 · 8559 阅读 · 1 评论 -
python数组中extend()与append()函数的区别
extend()extend()用户在新列表中一次性追加另一个序列中的所有元素 无返回值,用新列表扩展原来的列表append()将一个对象作为一个整体添加到列表中,注意:一个对象可以是一个元素,也可以是一个数组 无返回值两者的区别list_a=[1,2,3,4,4]list_b=[100,200]list_c=['a','b','c','d']list_a.extend...原创 2019-08-06 23:27:50 · 2363 阅读 · 0 评论 -
巧用set集合的intersection(交集)和difference(差集)
intersection:描述:intersection()方法用于返回两个或更多集合中都包含的元素,即交集。语法:set.intersection(set1,set2,...)参数:set1--必需,要查找相同元素的集合 set2--可选,其他要查找相同元素的集合,可以多个,多个逗号隔开返回值:返回一个新的集合实例:x={'a','b','c'}y={...原创 2019-08-13 15:59:57 · 13571 阅读 · 0 评论 -
python--isalnum()函数
描述Python isalnum() 方法检测字符串是否由字母和数字组成。语法isalnum()方法语法:str.isalnum()参数无。返回值如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False实例以下实例展示了isalnum()方法的实例:实例(Python 2.0+)#!/usr/bin/pyt...原创 2019-08-01 21:02:36 · 1833 阅读 · 0 评论 -
python--filter()函数
描述filter()函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用list()来转换。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。语法以下是 filter() 方法的语法:filter(function, ite...原创 2019-08-01 21:00:00 · 162 阅读 · 0 评论 -
python中all()和any()函数总结
all(iterable):iterable---元组或列表这个函数可能会有点坑,解释如下:判断给定的可迭代参数iterable中的所有元素是否都为True,如果是返回True,否则返回False。 注意:元素是0、空(空元素、不是空数组或空列表,空数组也是True)、None、False外都算True。返回值:如果iterable的所有元素不为0,"",False或者iterab...原创 2019-07-31 11:00:23 · 847 阅读 · 0 评论 -
使用pandas读取MySQL数据库中的表格
1、使用pymysqlimport pymysqlpymysql.install_as_MySQLdb()#注意:mysqldb是python2中的包,在python3中已经变为pymsql,如果想继续使用python2的数据库连接格式#可以调用pymysql.install_as_MySQLdb()命令conn=pymysql.connect(host='192.168.3.8...原创 2019-07-26 10:01:05 · 1762 阅读 · 2 评论 -
count()、value_counts()与size()函数
1、python中的count()函数统计某个元素出现的次数如:统计string中某字符的次数str.count(sub,start=0,end=len(string)-1)Args Annotations sub 搜索的子字符串 start 字符串开始搜索的索引位置。默认从第一个字符开始,索引为0 end 字符串结束搜索的位置,默认字符串的最后...原创 2019-07-25 22:03:13 · 2971 阅读 · 0 评论 -
内置函数ord()与char()
ord()将字符串表示的字符转换为对应的整数,适用于Unicode字符 如ord('a'),输出97;ord('A'),输出65;ord('\u2020'),输出8224char()将一个范围是range(256)(0~255)内的整数作为参数,返回一个对应的字符 如char(97),输出a 注意它的范围如果超过255,考虑使用unichar(),它的范围是range(65536)...原创 2019-08-11 00:01:29 · 1115 阅读 · 0 评论 -
使用yaml配置文件
yaml:yet another markup language,另一种标记语言,专门用来写配置文件,类似于json格式。语法大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 # 表示注释,从这个字符一直到行尾,都会被解析器忽略数据结构:对象:键值对的集合,又称为映射/哈希/字典 数组:一组...原创 2019-08-27 10:36:35 · 3684 阅读 · 0 评论 -
numpy中的reshape()函数
import numpy as npa = np.array([1,2,3,4,5,6,7,8])#转换成2D数组b = a.reshape((2,4))print('b=\n',b)#转换成3D数组c = a.reshape((2,2,2))print('c=\n',c)输出结果: 注意:修改后新生成的数组与原数组共用一个内存,改变元素会造成一变...原创 2019-03-29 17:21:40 · 2989 阅读 · 0 评论 -
unix时间与年月日的转换
unix时间戳通常有10位和13位的区别:10位是包含年月日时分秒,13位包含了毫秒获取时间戳:#采用time模块time_stamp=time.time()或者#datetime模块time_stamp=datetime.datetime(2019,10,10,0,0,0).timestamp()将时间戳转换为年-月-日 时:分:秒格式:local_time=...原创 2019-10-11 11:31:01 · 1963 阅读 · 0 评论 -
学会使用yield
思考一下,为什么要用yield?yield常见的是应用在循环中,打个比方:我在一个for循环中需要不断的返回数据,你会采用哪种方法?使用return肯定是不合适的,return一次整个循环就终止了。那么使用yield再合适不过了,可以把它当作一个生成器。# ===================================================================...原创 2019-09-29 17:11:21 · 167 阅读 · 0 评论 -
获取某个文件夹下的所有文件名
with open('unsatisfied.txt','w') as f: for root,dir,files in os.walk('./unsatisfy'): # root # dir for file in files: f.write(file+'\n')原创 2019-09-18 10:21:30 · 1244 阅读 · 0 评论 -
isinstance(param,判断类型)
描述isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance()。语法以下是 isinstan...转载 2019-09-02 16:15:06 · 472 阅读 · 0 评论 -
内置函数sorted(cmp,key,reverse)
sorted(iterable[,cmp,[,key[,reverse=True]]])作用:返回一个经过排序的列表。第一个参数是一个iterable,返回值是一个对iterable中元素进行排序后的列表(list)。可选的参数有三个,cmp、key和reverse。cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数...原创 2019-09-02 15:45:01 · 614 阅读 · 0 评论 -
shutil.rmtree()
shutil.rmtree() #递归地删除文件如果存在以下树结构- user - tester - noob - developer - guru即 user 目录下存在多级子目录如果要递归删除user\tester 目录的内容,可使用shutil.rmtree()函数import shutilshutil.rmtree(r'use...原创 2019-09-02 15:38:38 · 37297 阅读 · 0 评论 -
读写文件时codecs.open()优于open()
比较:当有数据需要保存时,第一时间一般会想到写到一个txt文件中,当然,数据量比较大的时候还是写到数据库比较方便管理,需要进行网络传输时要序列化,json化。写入到文件中,一般以txt结尾,linux里不会以后缀来区分文件类型,后缀可以随便,也可以没有。python读写文件用open内置函数,或者file这个工厂函数,这两个的效果基本一样。打开文件的方式一般为:f=open(file...原创 2019-08-27 12:00:08 · 547 阅读 · 0 评论 -
python 去重函数--drop_dumlicate()
drop_duplicate(subset,keep,inplace) #去重函数subset:子列名keep:保留第一列或最后一列,first/lastinplace:是否在本数据集修改示例:df.drop(subset=['item_id','buyer_admin_id'],keep='first')#item_id和buyer_admin_id,单看这两列,如果...原创 2019-07-18 11:51:32 · 3040 阅读 · 0 评论 -
控制台输出日志保存到本地文件中的方法总结
示例:封装的Logger类,可以单独放到别的地方,直接调用即可import sysimport timeclass Logger(object): def __init__(self, fileN="Default.log"): self.terminal = sys.stdout self.log = open(fileN, "a",enco...原创 2019-07-04 11:30:10 · 6053 阅读 · 1 评论 -
pandas的merge()函数
merge需要依据共同的某一列或者某一行来进行合并left: 左表(DataFrame)right:右表(DataFrame)how:连接方式 left: 仅保留左表的键 right: 仅保留右表的键 outer:两表的键取并集 inner:两表的键取交集on:用来对齐的那一列的名字,用到这个参数的时候一定要保证左表和右表用来对齐的那一列都有相同的列名...原创 2019-03-28 12:16:10 · 3294 阅读 · 0 评论 -
pandas中的loc()与iloc()函数的区别
定义一个DataFrame对象:import pandas as pddata=pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}print(data) .loc()方法.loc()有两种用法:使用行标签和列标签,获取行、列对应的某一个值 选定某一个区域的值这两种方法表示为:data.loc['b','B...原创 2019-04-06 21:07:59 · 7717 阅读 · 0 评论 -
详解python中的round()函数
round()是python自带的一个函数,用于数字的四舍五入。但是round()的输出结果与Python的版本有关:在python2中,round(1.0/2.0)=0;在python3中,round(1.0/2.0)=1$ pythonPython 2.7.8 (default, Jun 18 2015, 18:54:19) [GCC 4.9.1] on linux2Typ...原创 2019-04-06 17:46:36 · 114211 阅读 · 10 评论 -
pandas中的get_dummies()函数
数据集中离散特征的编码分为两种情况:离散特征的取值之间没有大小的意义(特征之间的欧式距离相同),比如color:[red,green],可以采用one-hot的方法 离散特征的的取值有大小的意义(特征之间的欧式距离不同),比如size:[X,XL,XXL],可以采用数值的映射{X:1,XL:2,XXL3},这种方式就是LabelEncoder()的思想对离散特征的处理可以采用两种方式...原创 2019-04-05 22:15:32 · 3448 阅读 · 0 评论 -
Series中的map()函数
Series中的map()函数可以接受一个函数或含有映射关系的字典型对象使用map()是一种实现元素级转换以及其他数据清理工作的便捷方式。(DataFrame中的对应的是applymap()函数以及apply()---对每一行操作,等同于axis=0)例子:import pandas as pdfrom pandas import Series, DataFramedata...原创 2019-04-05 21:50:16 · 5596 阅读 · 0 评论 -
DataFrame中的count()函数,以及常用的统计方法
目录count()函数pandas.DataFrame.countDataFrame中常见的其他方法:分组统计count()函数官方API为:pandas.DataFrame.countDataFrame.count(axis=0,level=None,numeric_only=False)[source]Count non-NA cells for eac...原创 2019-04-05 21:08:16 · 102596 阅读 · 0 评论