![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 79
格物致理,
这个作者很懒,什么都没留下…
展开
-
python字符串模糊匹配,并计算匹配分数
此文,主要讲解thefuzz模块,通过对字符串匹配度分数score的计算,实现从多个字符串中挑选出最佳匹配的字符串。原创 2023-04-20 10:48:09 · 1789 阅读 · 0 评论 -
Python批量下载ts视频文件,并用ffmpeg合并
现在很多网络视频被切割成无数个小的ts文件,这篇文件主要是讲怎么下载这些小的ts文件,并按播放顺序,将这些文件下载下来,然后合并成单一完整的视频。原创 2023-01-08 17:06:55 · 11304 阅读 · 4 评论 -
pandas合并excel的多个sheet
表格内容如下:一共有6个表格,内容都差不多:现在要做的是,把6个sheet合并成一个表格。1.excel合并工作表首先,探讨一下直接用excel来解决这个问题,在excel2016及以后的版本中,有一个强大的PowerQuery查询:选择文件后:点“编辑”以后,大概如下:网上有些人的版本中有“将查询追加为新查询”这个功能,但是我的excel2016中没有这个选项,只能点击“追加查询"这个功能:上图的意思是将sheet2追加到sheet1中去,...原创 2021-10-03 17:45:40 · 6622 阅读 · 1 评论 -
pandas管道函数pipe
1.概述在操作Series或者DataFrame级别数据时,例如修改、删除等,需要用到一些特别的函数,常用的有下面几个:1.apply():以DataFrame的行或列为单位(由axis参数决定),操作数据。2.applymap():操作DataFrame中的每个元素。3.map():操作Series,或者DataFrame中某一列的元素。4.pipe():操作整个DataFrame或者 Series中的所有元素。2.pipe介绍相对来说,前面三个函数理解起来,相对较为容易。最不原创 2021-09-25 11:07:29 · 3046 阅读 · 0 评论 -
pandas与excel生成户籍编号
一、excel生成户编号先说在excel中,有时候需要根据户主来生成户编号,如下图:生成方式其实也比较简单,直接用countif函数:也就是通过countif依次计算“户主”出现的次数,再转换成文本格式。总的来说,这种生成方式还是挺简单的,只是不容易想到这种方法。二、pandas生成户编号先准备数据:可以看出,我故意留了一列,就是户编码这一列,目前没有数据,现在要做的,就是根据户主出现的次数,来生成户编码,代码如下:import pandas as pd...原创 2021-09-24 11:36:25 · 964 阅读 · 0 评论 -
pandas筛选与替换
需求:在表格中,按照相应的条件,把数据筛选出来,然后把筛选出来的数据进行赋值后,再放回原来的表格。一、excel表格筛选要实现这样的功能,在excel2016之前是不容易的,因为筛选时,excel默认的是把不符合条件的数据隐藏掉了,也就是说只是肉眼看不到而已,数据实际还在。所以如果我们把筛选的值复制出来,做出相应的调整以后,是放不回去的。可以看出上面的行号是隐藏的,并不是连续的。如果复制出去修改了以后,再粘贴回来是对不上号的。妥协的办法是把符号条件的放一个表,不符号条件的放另一个..原创 2021-09-15 16:50:36 · 1705 阅读 · 0 评论 -
pandas筛选、修改并实现分类
虽然学了pandas有段时间了,但是真正应用的场合其实很少,大多数功能用excel就已经足够,最近发现wps表格某些功能比 excel还好用,比如筛选重复身份证,wps表格就做得比excel2016要好。最近发现了一个比较麻烦的问题,表格内容大概如下:需求是把这些数据按村分类,听着是挺简单的,主要就是这个通讯地址数据不完整,存在以下问题:1.有些地址没写村,如:护龙镇;2.有些地址存在多个村,如:护龙镇木厂村护龙镇金盆村4组3.有些地址中有空格,如:两板桥镇街 村1;4.有些村.原创 2021-09-12 18:43:29 · 1090 阅读 · 0 评论 -
python抓取数据,pandas 处理并存储为excel
pandas书看了一段时间了,但是一直没有实践过,这周有空就来试试,先看网站:总共有54页,每页50条数据,其实最简单的办法是:直接复制数据,然后粘贴到excel里面,只需要粘贴54次,也不算太复杂。因为写这个程序的时间绝对比复制粘贴的时间要多。但是做技术的嘛,总容易陷入唯技术论,所以我们就来试试用python抓取数据,用pandas包装数据,然后存储为excel表格。一、获取数据首先,本人想到的是用requests框架获取这个网页的源代码,再把源代码内的表格数据通过Beautiful.原创 2021-08-22 09:49:25 · 4347 阅读 · 0 评论 -
Miniconda3、Jupyter notebook、Pandas的基本配置
最近想学pandas,买了一本国人写的《深入浅出Pandas》,书的内容还没认真看,但是第一步环境配置就把我难倒了。本人至少不算一个新手,对python有一些了解,但python这个环境配置确实很容易出问题。本人电脑环境:操作系统:win7(64位)python:Miniconda3因为Anaconda3 非常大,所以书上推荐用Miniconda3,但是有一点需要注意,那就是python3.9以上不支持win7,如果不辛下载了“Miniconda3-py39_4.10.3-Windows原创 2021-08-05 09:39:54 · 1015 阅读 · 0 评论 -
python与腾讯语音识别
语音识别是一项比较复杂的技术,在单机上很难实现高效的识别的功能,但是借助云平台,实现起来就简单得多了。下面采用腾讯的语音识别平台,用法如下:Python SDK 语音识别按照官方文档上说:语音 URL 的音频时长不能长于5小时,文件大小不超过512MB 本地语音文件不能大于5MB 录音文件识别免费额度为每月10小时不知道URL的方式限制到底是不是512MB,但是本地文件确实有5MB的限制。如果识别成功,就会返回一个TaskId,通过这个TaskId,获取返回的结果,但是结果是原创 2021-01-25 10:19:37 · 1242 阅读 · 0 评论 -
python实现excel表格图片识别,并转换成excel文件
这个过程有点多,一步一步来。一、文字识别本人采用的是腾讯的云识别技术,所以先在腾讯完成一系列的注册、申请工作。首先打开腾讯云的官网:https://cloud.tencent.com/开通文字识别的服务后:这个按官方的说法是每个月可以免费使用1000次,还是很不错的。开通服务后,还需要访问API的密钥,这个也需要申请,我这个是已申请好的:二、实现效果一张图片:实现后的效果:三、预安装相应的包首先,要安装腾讯的组件包:tencentcloud-.原创 2021-01-24 13:19:58 · 12884 阅读 · 12 评论 -
500lines之crawler学习(五)
前面几篇文章主要是分析改错,这篇文章来分析下,这个爬虫是怎么运作的。核心就在crawling.py文件中,这个文件的代码稍微有点乱,不是很容易看明白,下面把重要代码贴不出:#初始化self.q = Queue(loop=self.loop)....self.q.put_nowait((url, max_redirect))....def fetch(self, url, max_redirect): ... self.q.put_nowait((link, self.ma原创 2021-01-20 10:46:23 · 138 阅读 · 0 评论 -
python线程与协程
一、线程线程在任何编程语言中,都算是比较难的内容,python也不例外。先看看《流畅的python》书中的例子:#win7+python3.7import threadingimport itertoolsimport timeimport sysdef spin(msg, done): # <2> write, flush = sys.stdout.write, sys.stdout.flush for char in itertools.cycle('原创 2021-01-04 18:20:16 · 258 阅读 · 0 评论 -
python的字符串
虽然也算勉强接触过几天了,但对python的了解还是很少的,今天看了一个pythonchallenge的过关挑战,做起来很费劲,第0关是参考别人的方法过的,到了第一关,也花了一上午,但是只翻译了那密文成明文,根本就不知道有个str.maketrans这个方法,所以就不知道怎么做了,而且python虽然有个文档,但没有发现像JAVA一样的API,因此只得参考网上的实现,最后看了一下官方的实现,比较好...原创 2010-05-06 16:40:48 · 79 阅读 · 0 评论 -
python与协方差
方差是用来描述一维数据的偏差关系,而协方差是用来描述二维及以上的随机变量关系。协方差用cov方法表示,如cov(x,y)为正值,则x,y的关系是正相关的,为负则是负相关的,为0则没有关联。看以下代码:x=[-2.1, -1, 4.3]y = [3, 1.1, 0.12]X = np.stack((x, y), axis=0)此时X为:array([[-2.1 , -1...原创 2019-01-13 22:29:56 · 1891 阅读 · 0 评论 -
500lines之crawler网格爬虫学习(一)
项目来源:https://github.com/aosabook/500lines中文翻译:https://github.com/HT524/500LineorLess_CN不过这个中文项目并没有翻译完。英文原版:http://www.aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html500li...原创 2019-01-26 10:28:51 · 606 阅读 · 1 评论 -
500lines之crawler学习(二)
一、先看看两个函数的用法:normalized = urllib.parse.urljoin(response.url, url)defragmented, frag = urllib.parse.urldefrag(normalized)参考文章:https://pythoncaff.com/docs/pymotw/urllibparse-split-urls-into-comp...原创 2019-01-29 21:59:56 · 719 阅读 · 0 评论 -
python之yield、yield from(一)
yield、yield from都相当复杂,不只是语法复杂,语义也复杂,再加上经常与asyncio配合使用,就更加复杂了。所以花点时间,总结下这两个东西。一、yield关键字这个关键字用于构建生成器(generator),凡是函数的内部有yield时,该函数就是生成器。生成器也是迭代器,因为它实现了迭代器接口。生成器用于生成元素,迭代器用于遍历元素,实际也可以混用。我们先来看一个简单的...原创 2019-02-04 12:58:23 · 434 阅读 · 0 评论 -
Python之yield、yield from(二)
一、yield协程2001年,Python2.2引入了yield关键字实现生成器函数。而2006年,Python2.5又为生成器增加了额外的方法和功能,最重要的当属.send()方法。与.__next__()方法一样,.send()方法致使生成器前进到下一个yield语句。不过,.send()方法还允许客户把数据发给生成器,.send()方法会把发送的值传给生成器中对应的yield表达的值...原创 2019-02-05 09:58:13 · 1010 阅读 · 1 评论 -
500lines之crawler学习(三)
回到最初的话题,为什么我们通过:python -q crawl.py xkcd.com上面命令在控制台运行,啥结果都没有,是因为在第一篇博客(crawler学习(一))中,分析过-q会让日志级别变低(level=0),设置代码(crawl.py中)如下: levels = [logging.ERROR, logging.WARN, logging.INFO, logging.D...原创 2019-01-29 22:00:04 · 216 阅读 · 0 评论 -
Python之yield、yield from(三)
前面两篇基本上把yield、yield from语法语义讲清楚了,然而反过来,我们思考一下,这个yield、yield from这个到底有什么好处,费了很多劲学习这个,举了几个玩具般的例子,然而实战中到底有什么优势?这篇文章将试图解答这个问题。程序需求如图:我们要从classes(班级)目录下,查找某个学生的成绩。class_1.txt代表一班的成绩,class_2.txt代表二班的成...原创 2019-02-07 16:24:37 · 276 阅读 · 0 评论 -
Python之asyncio.Queue
asyncio.Queue一个队列,规则是先进先出,先存入先取出。官方文档上有个例子:https://asyncio.readthedocs.io/en/latest/producer_consumer.html代码如下:import asyncioimport randomasync def produce(queue, n): for x in range(n)...原创 2019-02-07 22:43:53 · 9250 阅读 · 0 评论 -
500lines之crawler学习(四)
经过前面(一)、(二)、(三)的讲解,现在crawler项目能运行了,控制台会打印各种日志信息,由于信息太多,根本看不全(控制台只能显示一部分),所以首要任务是将日志信息输出到文件中(crawl.py): logging.basicConfig(filename='crawler.log', format='%(asctime)s - %...原创 2019-01-30 12:41:55 · 180 阅读 · 0 评论 -
python之mini版爬虫
完整代码不到100行,基本实现了网络爬虫的功能,设计得相当精巧,非常值得学习与研究。参考链接:https://linux.cn/article-8265-1.html这个爬虫没有借助任何工具库,直接用标准库代码完成,也没有借助协程(yield、yield from)。完整代码如下:from selectors import DefaultSelector,EVENT_WRIT...原创 2019-02-11 22:30:27 · 649 阅读 · 0 评论 -
Scapy扫描局域网
Scapy是一个强大的交互式数据包处理程序(使用python编写)。它能够伪造或者解码大量的网络协议数据包,能够发送、捕捉、匹配请求和回复包等等。Scapy起源于Linux,但在windows上也可以安装,具体步骤见下面链接:https://www.cnblogs.com/qingkongwuyun/p/8508733.html但是Scapy学习资料比较少,涉及的网络协议比较复杂,所以...原创 2019-04-08 11:00:53 · 1780 阅读 · 0 评论 -
python扫描局域网主机
一、开发环境windows7 32位,python3.7二,安装netaddr模块netaddr模块能方便的对子网和IP地址进行操作。三,工作原理通过构建套接字对象对网络接口上的数据包嗅探,windows与linux的区别是windows允许我们嗅探所有协议的所有数据包,而linux只能嗅探到ICMP数据。当我们发送UDP数据到活动主机关闭的端口上时,会产生ICMP响应,ICM...原创 2019-04-11 17:04:08 · 4051 阅读 · 3 评论 -
python操作excel
一、需求读取一个excel文件,通过比对身份证号码,去除重复的数据,并另存为一个excel文件。二、安装xlrd、xlwt三、实现代码第一版:import xlrdimport xlwtimport collectionsworkbook = xlrd.open_workbook(r'e:\对象名单.xls')#print(workbook.sheet_name...原创 2019-03-29 10:39:53 · 175 阅读 · 0 评论 -
python,也不错嘛
五一放假,难得有点空闲的时间,虽然工作中也有不少空闲时间,但是很难全心投入干些其它的事,现在终于有点空了。最近由于想做一个C/S软件,所以想学习一下其它的语言,因为JAVA在做C/S软件方面没有任何优势,尤其是在此windows平台,但是个人对VB、C#又没什么兴趣,delphi这个东西算是不错,但现在已经发展得不怎么样了,没必要花时间去学一门没什么前途的语言,VC也不错,但是开发效率并不能让人满...2010-05-01 10:38:24 · 68 阅读 · 0 评论