![](https://img-blog.csdnimg.cn/29177e6bfc6c48cab2e9cfa17606b233.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python相关
Python相关内容
wangyanglongcc
数仓工程师,多年数据处理、分析经验。擅长数仓ETL,数仓模型设计建设。
对微软云产品较为熟悉,如Azure Data Factory,Azure Databricks,SqlServer等。
对Python,Sql,Excel等较为熟悉。
展开
-
以多进程/线程方式执行命令
【代码】以多进程/线程方式执行命令。原创 2023-04-14 13:11:36 · 67 阅读 · 0 评论 -
Mac系统安装ta-lib库
在Mac系统上安装ta-lib,一开始一直出错,折腾了很久,终于找到了解决办法,最终解决方案如下。使用brew安装Ta-Libbrew install Ta-Lib使用conda安装ta-lib之前pip安装一直出错,最后通过conda安装成功,能够成功import使用。conda install -c conda-forge ta-lib...原创 2021-05-08 12:12:52 · 1594 阅读 · 4 评论 -
使用Python自动发送邮件-添加将图片插入正文
import smtplib# 负责构造文本from email.mime.text import MIMEText# 负责构造图片from email.mime.image import MIMEImage# 负责将多个对象集合起来from email.mime.multipart import MIMEMultipartfrom email.header import Headerimport os,sysBASE_PATH = os.path.dirname(os.path.dirn原创 2020-11-12 17:47:43 · 5909 阅读 · 0 评论 -
使用Python自动发送邮件
import smtplib# 负责构造文本from email.mime.text import MIMEText# 负责构造图片from email.mime.image import MIMEImage# 负责将多个对象集合起来from email.mime.multipart import MIMEMultipartfrom email.header import Headerimport os,sysBASE_PATH = os.path.dirname(os.path.dirn原创 2020-10-18 20:40:41 · 304 阅读 · 0 评论 -
__name__属性的作用是什么
在Python中,一个模块被另一个程序第一次引入时,其主程序将全部运行。如果想在模块引入的时候,模块中的某一程序块不执行,那么此时可以用__name__属性来使该程序块仅仅在该模块自身运行时执行。每个模块都有一个__name__属性,当其值时__main__时,表明该模块自身在运行,否则时被引入。...原创 2020-08-12 10:55:10 · 1325 阅读 · 0 评论 -
文件组织与管理
常用文件管理函数模块函数名说明osos.remove删除文件/文件夹。当删除文件夹时,该文件夹必须是空文件夹osos.renames文件重命名/移动,目标文件要不存在,才能重命名或移动,否则会报错osos.listdir返回目录下文件或文件夹名osos.makdirs创建文件夹(多级或单级)osos.path.basename返回文件名osos.path.dirname返回上级文件路径osos.path.exists判断原创 2020-08-05 22:50:03 · 249 阅读 · 0 评论 -
计算斐波那契数列
方法1:使用递归(算法复杂度高,不推荐)这种方法的代码是最简单的,但复杂度是超高的。fib = lambda n:fib(n-1) + fib(n-2) if n >2 else 1方法2:利用循环,算法复杂度为O(N)def fib(n): if n <= 2: return 1 else: a,b = 1,1 for i in range(n-2): a,b = b,a+b re原创 2020-07-31 00:16:45 · 200 阅读 · 0 评论 -
列表摊平的两种方法
方法一:使用列表生成式x = [[1,2],[3,4],[5,6]]# 第一个b最后写,先是a in x ,然后b in a ,最后获取by = [b for a in x for b in a ]print(y) # [1, 2, 3, 4, 5, 6]x = [[[1,2],[3,4]],[[5,6]]]# 第一个c最后写,先是 a in x,然后 b in a,再然后 c in b ,最后获取cy = [c for a in x for b in a for c in b]# 再多层依原创 2020-07-30 22:44:16 · 666 阅读 · 0 评论 -
求两数的最小公倍数
最小公倍数:两个或多个整数共有的倍数叫做它们的公倍数。其中除以0以外最小的一个公倍数就是最小公倍数。def lcm(x, y): max = x if x > y else y status = True while status: if max % x == 0 and max % y == 0: lcm = max status = False max += 1 return lcm原创 2020-07-30 22:37:22 · 219 阅读 · 0 评论 -
求最大公约数的两种方法
最大公约数:指两个或多个证书共有约束中最大的一个def gcd1(x, y): z = x % y while z: x, y = y, z z = x % y return ydef gcd2(x, y): min = x if x < y else y for i in range(1, min + 1): if x % i == 0 and y % i == 0: gcd =原创 2020-07-30 22:32:25 · 323 阅读 · 0 评论 -
删除Azure上的container
在使用Azure时,当启动hdinsight时,会产生一些container来存储相关的日志,这样就导致会产生过多的无需保存的container,一个个删除太过于麻烦,故这里使用python通过循环进行删除。由于container过多,我们可以反向思考,将部分container添加进白名单保留,其余的都删除即可调用delete_container方法进行删除# pip install azure-storage-blob==1.5.0import osfrom azure.storage.blob i原创 2020-07-13 17:03:43 · 267 阅读 · 0 评论 -
使用Python将文件上传到blob
1. 导入相关包及配置# -*- coding:utf-8 -*-# pip install azure-storage-blob==1.5.0import os, sysimport argparseimport pandas as pdfrom azure.storage.blob import BlockBlobServiceimport timefrom tabulate import tabulateimport datetime as dtFilePath = os.pat原创 2020-07-13 16:33:39 · 1287 阅读 · 0 评论 -
使用Python对Blob进行操作
具体操作如下:创建修改上传下载删除先决条件:安装好Python环境,可参考Python安装开始之前:安装包azure-storage-blob# 这里使用1.5.0版本的azure-storage-blobpip install azure-storage-blob==1.5.0下面开始Blob的操作:开始之前,我们需要明确Storage Blob的层级结构,首先是有一个account账户,在这个账号下创建容器,再接下来才是blob数据。从理解上就相当于,account是一原创 2020-07-13 16:25:42 · 8404 阅读 · 3 评论 -
时间戳与日期格式相互转换
1. 时间戳转年月日时分秒import time# 创建一个时间戳t = 1533880334# 1. 使用time.localtime将时间戳转成日期格式t = time.localtime(t)# time.struct_time(tm_year=2018, tm_mon=8, tm_mday=10, tm_hour=13, tm_min=52, tm_sec=14, tm_wday=4, tm_yday=222, tm_isdst=0)# 2. 使用time.strftime将日期转成日原创 2020-07-09 00:31:25 · 3939 阅读 · 0 评论 -
等比例缩小/放大图片
设置读入、输出文件以及缩小/放大比例imgfile = 'E:/PycharmProjects/PracticalTableau/img/191119-8.png'outfile = 'E:/PycharmProjects/PracticalTableau/img/191119-8_resize.png'resize = 0.8缩小/放大图片文件并输出from PIL import Imageimg = Image.open(imgfile)w,h = img.sizew,h = roun原创 2020-07-04 00:26:35 · 345 阅读 · 0 评论 -
Python中类似于GROUP_CONCAT的操作
直接使用unique函数即可res = df.groupby(['zq','area'].agg({'province':'unique'}).reset_index()#此时得到的province是一个列表res['province'] = res['province'].map(lambda x:','.join(x))import pandas as pd'''dfzq area province北一战区 北京区 北京北一战区 华北区 河北北一战区 华北区 天津北一战区 东北区原创 2020-06-22 00:09:15 · 1590 阅读 · 0 评论 -
对符合特定条件的数据输出Excel时设置格式
设置好格式,然后用条件判断符合规则的加格式,不符合的不做处理。写出数据时一个个单元格写出和按行/列写出在效率上并无太大差异。写出效率约如下,所消耗时间与数据量成线性关系。All Done!,输出 1W 行 20 列 数据共耗时2.3836sAll Done!,输出 10W 行 20 列 数据共耗时24.5910sAll Done!,输出 100W 行 20 列 数据共耗时299.4173simport xlsxwriterimport pandas as pddef writ.原创 2020-06-19 17:45:45 · 738 阅读 · 0 评论 -
压缩多层级文件夹下的所有文件
该方法通用性更广,可以将文件夹下的子文件夹中的数据也都压缩。先遍历获取所有的文件创建一个压缩文件,将1中所有文件压缩进去在压缩的时候注意压缩文件中的名称要包含目录,即压缩文件中的文件名arcname= file.replace(fold_path,’’).lstrip(’/’)import zipfileimport glob,os,time,shutildef ZipFoldW...原创 2020-03-24 11:26:45 · 1070 阅读 · 0 评论 -
Python中写日志方式
在python开发的时候,有些时候我们需要将日志信息存储下来用以程序的排查。那么就需要定义一个写日志的函数。而且这个函数最好能够满足在控制台打印出来的同时,将信息存储到本地文件中。该方法有以下功能:会在该文件logo.py的父级目录下新建一个log的文件夹,日志文件都会存放在新建的log文件夹下。日志信息会在控制台打印出来,与使用print效果一样。在控制台打印出来的同时,日志信息也会写入...原创 2020-02-09 21:32:12 · 750 阅读 · 0 评论 -
数据写出到json
字典类型数据写出到jsonimport jsondef write_to_file(content, filename): with open(filename, 'a', encoding='utf-8') as f: f.write(json.dumps(content, ensure_ascii=False) + '\n')DataFrame类型数据写出到j...原创 2020-02-09 13:22:40 · 148 阅读 · 0 评论 -
获取服务器内存占用详情-各程序占用情况
1. 通过在终端执行tasklist命令获取任务信息def get_task_info(): # 1. 通过在终端执行tasklist命令获取任务信息 task_list_str = os.popen('tasklist').read() task_list = task_list_str.split('\n') return task_list2. 通过获...原创 2020-02-06 16:14:15 · 819 阅读 · 0 评论 -
监控服务器内存及CPU使用情况
监控内存及CPU使用情况import psutildef get_memory_cpu_info(): info = psutil.virtual_memory() memory_cpu_info = {'memory_total':info.total, 'memory_available':info.available, 'memory_used...原创 2020-02-05 16:56:05 · 3225 阅读 · 0 评论 -
gzip文件在linux下的创建与解压
gzip创建格式:gzip + 文件名 (删除源文件)格式:gzip -r + 目录该压缩方式是把目录下的每一个文件都分别压缩,而非将整个目录压缩为一个文件。gunzip解压格式:gunzip + 文件名格式:gunzip -r +目录该解压方式会把目录下的所有gzip文件分别解压...原创 2020-01-08 17:05:05 · 743 阅读 · 0 评论 -
解压zip文件
解压zip文件1. 导入所需模块import glob,osimport zipfile2. 定义一个解压函数def un_zip(filepath,remove_file = True): ''' filepath: 传入一个路径,解压这个路径下的所有zip文件 remove_file: 是否删除原压缩文件,True表示删除 返回值为 未能解压的文...原创 2020-01-08 12:16:53 · 427 阅读 · 0 评论