Python
香山上的麻雀1008
大数据
展开
-
解决 python json.dumps() 中文乱码问题
python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成ascii编码了。英文字符能正常显示可读字符。原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。可行的方式如下:import osimport o转载 2021-12-21 20:17:51 · 1941 阅读 · 5 评论 -
【算法】求n个字符的任意组合
题目如:有字符a, b, c, d求它们的任意种组合:得到结果:a,b,c,d,ab,ac,ad,bc,bd,cd,bcd,acd,abd,abc,abcdpython实现:import math# 分组列group = ['a', 'b', 'c', 'd']le = len(group)all_num = int(math.pow(2, le)-1)print('一共有 %d 种分组' % all_num)for i in range(1, all_num+1): t原创 2021-12-10 21:15:29 · 892 阅读 · 0 评论 -
python中求 两个set、list、dict 的合并,交集,差集
1. 两个set的合并>>> a = {1,2,3}>>> b = {3,4,5}>>> c = a | b>>> print(c){1, 2, 3, 4, 5}原创 2021-12-09 10:14:58 · 7907 阅读 · 0 评论 -
xlwt设置单元格格式
# coding:utf-8import patterns as patternsimport xlwtimport timei = 0book = xlwt.Workbook(encoding='utf-8')sheet = book.add_sheet('sheet1', cell_overwrite_ok=True)# 如果出现报错:Exception: Attempt to overwrite cell: sheetname='sheet1' rowx=0 colx=0# 需要加上:转载 2021-12-03 16:52:29 · 796 阅读 · 0 评论 -
ModuleNotFoundError: No module named ‘dateutil‘
python 程序报错:Traceback (most recent call last): File "common_auto_fetch_sensor.py", line 13, in <module> from dateutil.relativedelta import relativedeltaModuleNotFoundError: No module named 'dateutil'然后执行pip install也报错:$ pip install dateuti原创 2021-04-21 21:08:45 · 6368 阅读 · 4 评论 -
pandas 处理 Excel 文件并将结果写入数据库中
需要注意的是pandas处理数据,数字格式的null 会被显示为nan,所以需要简单的处理一下:str_obj.replace("nan", "null")完整代码如下:# -*- coding: utf-8 -*-import pandas as pdfrom datetime import datetimefrom impala.dbapi import connectfrom impala.util import as_pandasimport osfile = r'E:\\日原创 2021-04-07 13:31:41 · 861 阅读 · 0 评论 -
Python处理excel合并单元格
读取可以使用 xlrd,也可以使用 openpyxl,但是 openpyxl 读取不了. xls 格式的 Excel,需要转成 xlsx,有点麻烦,所以使用了 xlrd。打开文件xlrd 也遇到了一点问题,文件如果是 xls 文件直接打开,在提取合并单元格的时候会拿不到数据,需要加上 formatting_info=True,formatting_info=True 的时候打开. xlsx 文件会报错 NotImplementedError: formatting_info=True not ye转载 2021-03-31 20:56:48 · 3270 阅读 · 0 评论 -
python 利用pandas将Excel转换为csv文件(自定义分隔符)
import pandas as pddf = pd.read_excel('E:\\xxx-3.20.xlsx', sheet_name='Sheet', header=None)# 使用pandas模块读取数据print(df.cov())print('开始写入txt文件...')# 自定义分隔符为$df.to_csv('file2.txt', header=None, sep='$', index=False)print('文件写入成功!')...原创 2021-03-29 19:30:26 · 1498 阅读 · 0 评论 -
如何关掉pycharm中的python console(图解)
安装好jupyter notebook后,在pycharm中无论运行什么样的python脚本,都会默认使用python的console运行,这种console非常恶心,前几行全是费话。而且运行完后,不会自动关闭,这样console越积越多,就像上图一样开了十几个。这严重影响了我们读代码。如何关闭烦人的console?总结以上所述是小编给大家介绍的如何关掉pycharm中的python console(图解),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家原创 2021-03-22 15:25:12 · 1082 阅读 · 0 评论 -
python 爬虫抓取某电商页面的商品价格
业务需求最近想通过爬虫抓取某电商商品页的价格。页面如下:实践然后就兴冲冲的写了段代码来爬取网页数据。# 厨房卫浴href = 'http://search.gome.com.cn/search?question=%E5%8E%A8%E6%88%BF%E5%8D%AB%E6%B5%B4'res = requests.get(href)# print(res.text)soup = BeautifulSoup(res.text, 'html.parser')# product_list原创 2021-03-18 21:14:43 · 10402 阅读 · 7 评论 -
PIP使用国内镜像安装各种库
PIP使用国内镜像安装各种库1. 指定阿里云镜像, 安装REQUIREMENTS.TXT中的所有pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt这里是用了阿里云,当然可以指定其他的2. 指定阿里云镜像, 安装FLASKpip...原创 2019-12-10 17:45:02 · 1054 阅读 · 0 评论 -
python 脚本批量修改文件名
以下例子就是将文件名中的abc全部删除掉。比如将文件名abc123.jpg 改为 123.jpgimport os# path = input("请输入文件路径:")ch_path = 'E:\xxx'# 获取该目录下所有文件,存入列表中fileList = os.listdir(ch_path)os.chdir(ch_path)for i in fileList: new_name = i.replace('abc', '') print(new_name)原创 2021-03-05 21:05:57 · 313 阅读 · 0 评论 -
Python threading 线程 target 函数参数传递 args要用中括号
今天开启线程传递参数的时候,出现了一个小问题,一直不能传递多个参数,如下import threadingthread1 = threading.Thread(target=fun, args=[1, 2, 3,])thread1.start()thread1.join()要用中括号,不用用大括号,一开始的时候,用的大括号,参数不能组成数组, 在最后的参数内,还要添加逗号.另外当传入参数是一个字符串的时候,一定要这样写也是中括号import threadingthread1 = thread原创 2021-01-14 15:42:08 · 4545 阅读 · 4 评论 -
Linux环境下superset安装记录
tips:首先一定要记住最权威最准确的学习资料在官网,不要看博客或者网文,因为软件,依赖或者环境版本不一样执行的命令是不一样的,我就在这上边浪费了好多时间。第一步就是Anaconda的安装以及环境变量的配置,这里略过。时间:2020年4月20日superset官网:http://superset.apache.org/1. 环境系统:centos 7.2Anaconda版本:$ ...原创 2020-04-20 18:16:18 · 766 阅读 · 1 评论 -
Anaconda-- conda 创建、激活、退出、删除虚拟环境
在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。conda 本地环境常用操作获取版本号conda --version 或 conda -V检查更新当前condaconda update conda查看当前存在哪些虚拟环境conda env list 或 conda info ...原创 2020-04-23 18:39:35 · 883 阅读 · 0 评论 -
Python versions prior to 3.5 are not supported for PyFlink [sys.version_info(major=2, minor=7, micro
Flink 1.11.0版本,运行bin/pyFlink-shell.sh local命令事报错:Traceback (most recent call last): File "/usr/lib64/python2.7/runpy.py", line 151, in _run_module_as_main mod_name, loader, code, fname = _get_module_details(mod_name) File "/usr/lib64/python2.7/run原创 2020-07-14 11:47:05 · 1299 阅读 · 2 评论 -
Flask Web开发入门笔记(四)
1 Flask响应Flask 调用视图函数后,会将其返回值作为响应的内容。多数情况下,响应就是一个简单的字符串,作为 HTML 页面回送客户端。但 HTTP 协议需要的不仅是作为请求响应的字符串。 HTTP 响应中一个很重要的部分是状态码, Flask 默认设为 200,表明请求已被成功处理。如果视图函数返回的响应需要使用不同的状态码,可以把数字代码作为第二个返回值,添加到响应文本之后。例如,下述视图函数返回 400 状态码,表示请求无效:@app.route('/')def index():原创 2020-06-17 10:34:18 · 532 阅读 · 0 评论 -
Flask Web开发入门笔记(三)
1 请求对象Flask 通过上下文变量 request 对外开放请求对象。这个对象非常有用,包含客户端发送的 HTTP 请求的全部信息。 Flask 请求对象中最常用的属性和方法见下表:属性或方法说明form一个字典,存储请求提交的所有表单字段args一个字典,存储通过 URL 查询字符串传递的所有参数values一个字典, form 和 args 的合集cookies一个字典,存储请求的所有 cookieheaders一个字典,存储请求的所有 H原创 2020-06-16 20:11:35 · 337 阅读 · 0 评论 -
Flask Web开发入门笔记(二)
1 Flask开启调试模式Flask 应用可以在调试模式中运行。在这个模式下,开发服务器默认会加载两个便利的工具:重载器和调试器。启用重载器后, Flask 会监视项目中的所有源码文件,发现变动时自动重启服务器。在开发过程中运行启动重载器的服务器特别方便,因为每次修改并保存源码文件后,服务器都会自动重启,让改动生效。调试器是一个基于 Web 的工具,当应用抛出未处理的异常时,它会出现在浏览器中。此时, Web 浏览器变成一个交互式栈跟踪,你可以在里面审查源码,在调用栈的任何位置计算表达式。调试模式原创 2020-06-16 19:59:38 · 394 阅读 · 0 评论 -
Flask Web开发入门笔记(一)
1 初始化所有 Flask 应用都必须创建一个应用实例。 Web 服务器使用一种名为 Web 服务器网关接口(WSGI, Web server gateway interface,读作“wiz-ghee”)的协议,把接收自客户端的所有请求都转交给这个对象处理。应用实例是 Flask 类的对象,通常由下述代码创建:from flask import Flaskapp = Flask(__name__)Flask 类的构造函数只有一个必须指定的参数,即应用主模块或包的名称。在大多数应用中, Pytho原创 2020-06-16 19:58:34 · 282 阅读 · 0 评论 -
爬虫某个app首页推荐栏目
Fiddler如何实现爬虫:获取APP发往服务器的请求信息以及服务器的响应信息,确定有效请求信息(指的是我们想要爬取的数据的请求),具体指的是确定URL,header,写程序模拟APP的请求信息,发往服务器,将响应信息获得之后处理数据采用Fiddler作为抓包工具,具体操作如下:下载Fiddler( /'fɪdlə/)工具,下载地址为:https://www.telerik.com/do...原创 2020-01-07 09:00:58 · 511 阅读 · 0 评论 -
Python 的 pyinotify 模块 监控文件夹和文件的变动
import osimport datetimeimport pyinotifyimport loggingclass MyEventHandler(pyinotify.ProcessEvent): logging.basicConfig(level=logging.INFO,filename='/var/log/monitor.log') #自定义写入那个文件,可以自己修...原创 2019-08-31 16:25:14 · 1026 阅读 · 0 评论 -
Python中三目运算符用法详解
Python可通过if语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的if语句的语法格式如下:True_statements if expression else False_statements三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式返回True,则执行并返回True_statements的值;如果逻辑表达式返回Fa...原创 2019-09-06 10:47:06 · 1773 阅读 · 2 评论 -
一些好的Python代码,技巧
01.简洁的表达式点评:Python因为简洁高效而出名,就是因为语法非常简单,而且内置了很多强大的数据结构:比如我们可以大量用推导列表来生成很多简洁的代码比如我们可以用if else组合,本来需要2-3行代码写的,一行搞定!02.排序忽略想起了一句台词,“有人的地方就有江湖”,那么有数组这样的数据结构一定涉及到排序,取最大值,取最小值。...原创 2019-06-09 12:05:42 · 293 阅读 · 1 评论 -
python脚本与shell脚本的结合应用
函数system()其中最后一个0是这个命令的返回值,为0表示命令执行成功。使用system无法将执行的结果保存起来。popen()获取命令执行的结果,但是没有命令的执行状态,这样可以将获取的结果保存起来放到list中。commands可以很方便的取得命令的输出(包括标准和错误输出)和执行状态位。commands.getoutput('ls')这个方法只返回执行结果...原创 2019-09-02 10:31:01 · 456 阅读 · 0 评论 -
Python中局部函数与 lambda 表达式的用法
lambda表达式是现代编程语言争相引入的一种语法,如果说函数是命名的、方便复用的代码块,那么 lambda 表达式则是功能更灵活的代码块,它可以在程序中被传递和调用。回顾局部函数回顾之前介绍的function_return_test.py程序,该程序中的get_math_func()函数将返回三个局部函数之一。该函数代码如下:由于局部函数的作用域默认仅停留在其封闭函数之内,因此这三个局部...原创 2019-09-05 18:39:03 · 523 阅读 · 0 评论 -
Python中字符串的用法
知识点一:转义字符如果字符串内容本身包含了单引号或双引号,此时就需要进行特殊处理 。使用不同的引号将字符串括起来。对引号进行转义[\(注:反斜杠)]。str3 = "I’m a coder"str4 = '”Spring is here , let us jam!”, said woodchuck.'str5 = '”we are scared, Let \' s hide in ...原创 2019-09-06 13:03:23 · 590 阅读 · 0 评论