Python
丿潇湘丶书笛
你我所见,不过沧海一粟
展开
-
Python进行数组的排序、倒序、截取
以上只示例用法,其实搭配起来使用可以有很多好处,不过还是要根据大家的实际场景进行使用,这里就不写太多,免得眼花缭乱,毕竟我们来看文章是来快速找出解决办法的哈。这里涉及到的场景,是对无序数组,需要进行有序排序的场景;结合起来就可以是对数组排序后,进行数组的取舍。也可以是对数组内容,进行头部取舍的场景;操作,取舍是对数组进行单冒号。排序是对数组中进行双冒号。原创 2022-10-11 14:28:28 · 3795 阅读 · 0 评论 -
Python元组转字典
我这里用到元组的场景,主要是用python进行数据库查询后,即cur.execute后,fetchall出来的,全部都是元组,不方便进行操作。元组是一个比较头疼的数据类型,至少以前在我这里是的,很不方便进行指定数据的提取、筛选、操作等等;而为了我在脚本中进行方便的操作、明白索引含义,我就会将其转成字段,方便我处理多种场景需求。原创 2022-10-11 14:06:27 · 1352 阅读 · 0 评论 -
Pandas处理和转置excel数据
之前帮同事处理的excel文件,因为表头是重复向右延伸,导致有很多列其实含义一致,但又不方便存储;为了方便将该excel的数据直接入库,此处需要将excel中进行处理,删除不必要的标题行、转置excel的行列等等。原创 2022-10-11 13:51:25 · 1233 阅读 · 0 评论 -
Pyhton中用pandas解决excel中身份证号不全问题
这是一个偶然事件,朋友在收集人员信息,但他收到的excel文件中,身份证号显示不全,溯源摇人也没有解决这个问题(建文件的人也没有了身份证号),然后我也是抱着试试的态度,帮他解决了这个问题。我这里的记录数不多,仅400行、7列,所以下面的代码只处理这些而已,大家可以根据自身情况,调整 i 和 j 的范围。当然,该处理方式也同样适用于银行卡号等长串数字的场景。原创 2022-10-11 13:35:21 · 879 阅读 · 0 评论 -
Python判断是否数字、字母
此处介绍的函数用来判断字符串是否数字、是否字母、是否字母/数字/字母+数字的组合。在日常脚本中,获取到数据后,偶尔要进行数据的校验,以便判断下一步执行的内容;用来判断是否字母/数字/字母+数字的组合。原创 2022-10-11 13:22:55 · 4948 阅读 · 0 评论 -
Python获取中国疫情数据(最新版)
获取疫情数据的脚本是2020年就写了,网上有多个地方可以获取;比如百度有:实时更新:新型冠状病毒肺炎疫情地图腾讯有:实时更新:新冠肺炎疫情最新动态因为一开始写的时候,觉得比较简单,所以一直没有分享出来不过最近大家可能会发现,部分接口的脚本跑不通了,这里是因为某个接口拿到的json串已经不完整了,有乱码了,导致json解析失败,数据自然也用不了了(其实之前也出现过,短暂几天)这个问题其实找出一个正常的api接口,换上就可以了原创 2022-05-18 13:53:31 · 1942 阅读 · 11 评论 -
Python用SMTP自动发送邮件email
发送邮件是一个常见的需求,一般会采用SMTP代理的形式,进行邮件自动发送在发送邮件时,主要有如下内容需要准备:① 发件人、收件人、抄送人② 发件人邮箱授权码③ 邮件主题④ 邮件正文⑤ 附件授权码的获取这里需要说明一下,比如QQ邮箱的授权码,需要在电脑上登录自己的QQ邮箱,在“设置”中找到。。。。。,如图所示为获取授权码的示例截图,将发送人邮箱授权码copy下来以便后面SMTP代理使用接下来示例用QQ邮箱,自动发送几个格式的邮件1、发送只有文本正文的邮件2、发送原创 2022-04-21 13:43:03 · 2020 阅读 · 0 评论 -
Python自动打开浏览器、输入账号密码、登录、截图
这里示例一下通过python,自动打开网页,登录后自动截图总体思路如下:① 加载Chrome浏览器驱动程序(下载地址) 具体下载方式可以参考:使用selenium自动打开谷歌浏览器② 打开url链接(此处建议sleep等待一下,避免网速或内存不良时,导致网页打开较久的问题)③ 找到账号密码的输入框④ 输入账号密码⑤ 点击登录按钮⑥ 全屏,避免不同分辨率导致页面布局的问题⑦ 逐步点击需要截图的链接位置⑧ 若有多个需要打开,需要将目录折叠回原样,或者F5刷...原创 2022-04-18 14:26:30 · 8942 阅读 · 0 评论 -
Python使用selenium自动打开网页、输入账号密码并登录
此处示例使用谷歌Chrome浏览器,打开指定网页,输入账号密码,并登录;代码思路如下:① 加载Chrome浏览器驱动程序(下载地址) 具体下载方式可以参考:使用selenium自动打开谷歌浏览器② 打开url链接(此处建议sleep等待一下,避免网速或内存不良时,导致网页打开较久的问题)③ 找到账号密码的输入框④ 输入账号密码⑤ 点击登录按钮from selenium.webdriver.chrome.service import Servicefrom s...原创 2022-04-18 13:55:25 · 22080 阅读 · 4 评论 -
Python使用selenium自动打开谷歌浏览器和网页
使用python自动打开浏览器,需要先安装selenium包,方可进行使用selenium的webdriver,有一个内置的Firefox驱动程序(Gecko Driver)实现,如果是希望用其他浏览器,则需要插入对应浏览器特定的驱动程序,才可以进行操作测试此处示例开发人员常用的Chrome浏览器,在开始测试之前,需要先下载对应的驱动程序:① 首先访问驱动程序下载地址:https://chromedriver.storage.googleapis.com/index.html② 在下原创 2022-04-18 13:41:29 · 7595 阅读 · 3 评论 -
Python解决for循环请求时meta重复问题
此处解决的是当我们在Scrapy包中,执行for循环,进行yield请求时,通过meta进行不同参数值的for循环传参后,最后发现请求的时候,meta的传参全部都是一样的的现象。此处是因为遇到回调response.meta取到的值的现象,此时每个meta都是一样的,且都是for循环中的最后一个值。这里的解决办法需要import copy,使用深拷贝deepcopy解决问题实际应用场景如下,在meta处,修改为深拷贝copy.deepcopy即可:# 变更前for mod in mods:原创 2022-04-18 11:21:23 · 337 阅读 · 0 评论 -
Python获取指定key字段下的所有值、根据指定key字段筛选和删除数据记录
当我们一次性获得众多数据时,相当于字典数组,如所有的学生科目成绩时,有时候会有需要对指定key字段进行数据统计等操作,或根据指定key字段进行数据的筛选或删除(相当于sql中的where操作)无独有偶,我这边在应用的时候,因为是将获取到的所有字典数组,不经过处理,全部放到数组中,形成的字典数组。此时需要对字典数组进行数据的筛选、删除、统计等操作。以下用学生科目成绩,分别对统计、筛选、删除,以及对应的组合操作,做对应示例:1、获取字典数组中,指定key字段下的所有值,并加以统计操作s..原创 2022-04-18 10:36:25 · 6050 阅读 · 6 评论 -
Python获取字典键keys、值values、对items
python字典的常规操作上,主要是根据字典的key键,获取对应的value值,或者直接回去整个item键值对,自行进行其他操作在实际开发中,我们面向的基本都是多个字典的字典数组,此处示例单个字典的键、值、对的获取,即对字典数组进行 for i in dict 后的操作stu = { 'name': '小王', 'age': 14, 'gender': '男', 'chinese': 81, 'math': 92, 'english': 80}原创 2022-04-18 10:14:00 · 31968 阅读 · 0 评论 -
Python解决request请求text中文乱码问题
无意中遇到的问题:发起request请求正常,返回的text里中文部分全部乱码,其他都正常;此处是content-type没有指定默认的编码,response默认是使用iso-8859-1编码对消息进行编码,再传送数据给客户端(大部分网页是有指定编码的)下面的多个解决方案:方法一:自行设置charset# 在html中搜索“charset”,找到编码格式,如此处是:charset="gb2312"prob_res = requests.get('http://www.******原创 2022-04-14 17:40:33 · 4919 阅读 · 0 评论 -
Python操作本地文件夹、文件
常见的文件/文件夹操作需求大致:①判断文件/文件夹是否存在;②新建文件/文件夹;③复制文件/文件夹;④剪切/移动文件/文件夹;⑤删除文件/文件夹import osimport shutil# 文件/文件夹是否存在(存在返回True,否则False)if os.path.exists("D:/123.doc"): print("文件已存在")# 新建文件夹os.makedirs(path)# 复制文件/文件夹shutil.copy(source_path,ai原创 2022-04-14 17:28:44 · 1077 阅读 · 0 评论 -
python连接数据库Mysql、Oracle、MSsql、ES
涉及到爬虫数据处理、数据清洗、数据查询、数据入库等操作时,则需要进行数据库的连接,以便进行数据查、校验、入库等操作;此处示例在python中,如何配置和连接数据库Mysql、Oracle、MSsql、Elasticsearch,以及代码执行方式(对应package包的安装比较简单就自行安装,这里只说代码层面的)1、连接Mysqlimport pymysql# 创建数据库连接con = pymysql.connect( host='127.0.0.1', port=3306原创 2022-04-14 16:27:26 · 403 阅读 · 0 评论 -
Python获取日期时间、格式化strftime和strptime、时间加减relativedelta
获取日期时间,算是大家经常要用到的操作吧,这里归纳总结一下import datetime的情况下,常用的日期获取、格式化、时间加减的场景,即today、now、strftime、strptime、relativedelta、timedelta等操作1、获取时间信息today、nowimport datetimetoday = datetime.date.today()now = datetime.datetime.now()# 获取当前日期(datetime)print(today)原创 2022-04-14 15:43:46 · 7265 阅读 · 0 评论 -
Python字符串替换replace、截取[]、查找find、计数count、分割split
不同语言中replace用法不一样,有的是replace(string,old_word,new_word),有的是string.replace(old_word,new_word)同样,截取等功能函数,也会有所不同,比如常见的又substr、substring、left、mid、right、find、split等等1、python中的字符串替换replace场景为string.replace(old_word,new_word),主要有“不限次替换”和“限制次数替换”两种应用场景,如下:原创 2022-04-14 14:42:25 · 1585 阅读 · 0 评论 -
Python的三元运算符
在进行字符串拼接或其他逻辑运算的时候,因为不想去写三五行代码定义和 if判断一个参数,重点是这个参数还只用一次,所以想到了三元运算符,从而简化代码量在JavaScript等其他其他代码程序中,三元运算符一般是:// 正确True? 条件expr : 错误False// 如:return '输出成功' ? res=='success' : '输出失败'在Python中略微不同:# 正确Trueif 条件expr else 错误False# 如:return '输出成功' i..原创 2022-04-14 13:11:55 · 2200 阅读 · 1 评论 -
Python数据类型%s,%d,%f的用法
1、%s:字符型%s:正常输出字符%6s:输出6位字符,不足6位字符的左边用空格符补充,超过6位字符的输出全部字符(%-6d为右边用空格补充)%.2s:截取前2位字符,不足2位的左边用空格符补充%6.2s:先截取2为字符,然后补足6位字符test="python"print("按正常输出:%s"%test)print("按长度输出:%6s"%test)print("按截...原创 2020-03-08 19:17:56 · 15779 阅读 · 0 评论 -
解决python中cannot import name 'Bar' from 'pyecharts'问题
最近在学习pyecharts的时候,遇到了点问题,因为网上的解决办法五花八门还不能让我的代码彻底运行完,我这里就遇到的问题,说一下我的解决方式。1、首先,先保证自己已经安装了pyecharts,没有安装的话请:win+R,运行cmd,然后键入pip install pyecharts,完成pyecharts的安装2、因为pyecharts的版本更新问题,现在已经不能写成from pye...原创 2020-03-06 15:27:25 · 33555 阅读 · 17 评论