python常用模块
一、文件处理
xlrd
Excel文档处理,读
xlwt
Excel文档处理,写
openpyxl
Excel文档处理,支持读写Excel的xls、xlsx、xlsm、xltx、xltm
python-docx
Word文档处理,支持读取、查询以及修改doc、docx等格式文件,并能够对Word常见样式进行编程设置
yaml
yml文件处理
configparser
ini文件处理
xml
xlm文件处理
json
json文件处理
PIL
图片处理
json推荐文档
二、数据处理
numpy
是使用 Python 进行科学计算所需的基础包。用来存储和处理大型矩阵,如矩阵运算、矢量处理、N维数据变换等
pandas
一个强大的分析结构化数据的工具集,基于numpy扩展而来,提供了一批标准的数据模型和大量便捷处理数据的函数和方法
matplotlib
是一个 Python 2D 绘图库,可以生成各种可用于出版品质的硬拷贝格式和跨平台交互式环境数据。Matplotlib 可用于 Python 脚本,Python 和 IPython shell(例如 MATLAB 或 Mathematica),Web 应用程序服务器和各种图形用户界面工具包
Scipy
基于Python的matlab实现,旨在实现matlab的所有功能,在numpy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数
Plotly
Plotly提供的图形库可以进行在线WEB交互,并提供具有出版品质的图形,支持线图、散点图、区域图、条形图、误差条、框图、直方图、热图、子图、多轴、极坐标图、气泡图、玫瑰图、热力图、漏斗图等众多图形
wordcloud
词云生成器
jieba
中文分词模块
三、数据库
pymysql
操作MySQL数据库
mysql-connector
操作MySQL数据库
aiomysql
操作MySQL数据库,异步使用
四、打包工具
py2exe
只支持python2.x
pyinstaller
支持pyhton 3.x和2.x,在命令行执行,进入文件目录,执行命令:pyinstaller -F -w -i d:\tmp\main.ico main.py
-F 生成单个可执行文件
-w 去掉控制台窗口,这在GUI界面时非常有用
-i 指定可执行文件的图标 如: d:\tmp\main.ico (必须是ico格式)
setuptools
是Python Distutils的加强版,使开发者构建和发布Python包更加容易,特别是当包依赖于其他包时。
五、web开发
Django
一个开放源代码的Web应用框架
Pyramid
是一个通用、开源的Python Web应用程序开发框架。它主要的目的是让Python开发者更简单的创建Web应用,相比Django,Pyramid是一个 相对小巧、快速、灵活 的开源Python Web框架
Tornado
一种 Web 服务器软件的开源版本。Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快
Flask
是轻量级Web应用框架,相比Django和Pyramid,它也被称为 微框架 。Flask核心十分简单,并不直接包含诸如数据库访问等的抽象访问层,而是通过扩展模块形式来支持
六、虚拟环境
virtualenv
用来建立一个虚拟的python环境,一个专属于项目的python环境。用virtualenv 来保持一个干净的环境非常有用
安装:pip install virtualenv
virtualenvwrapper
提供了一系列命令使得和虚拟环境工作变得愉快许多。它把您所有的虚拟环境都放在一个地方。
安装:pip install virtualenvwrapper
七、爬虫
requests
对HTTP协议进行高度封装,支持非常丰富的链接访问功能,可用于接口测试。
PySpider
国人编写的强大的网络爬虫系统并带有强大的WebUI。
bs4
beautifulsoup4库,用于解析和处理HTML和XML。
Scrapy
很强大的爬虫框架,用于抓取网站并从其页面中提取结构化数据。可用于从数据挖掘到监控和自动化测试的各种用途
Crawley
高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等
Portia
可视化爬取网页内容
cola
分布式爬虫框架
newspaper
提取新闻、文章以及内容分析
lxml
lxml是python的一个解析库,这个库支持HTML和xml的解析,支持XPath的解析方式
八、机器学习
NLTK
一个自然语言处理的第三方库,NLP领域中常用,可建立词袋模型(单词计数),支持词频分析(单词出现次数)、模式识别、关联分析、情感分析(词频分析 度量指标)、可视化( matploylib做分析图)等
TensorFlow
谷歌的第二代机器学习系统,是一个使用数据流图进行数值计算的开源软件库
Keras
是一个高级神经网络 API,用 Python 编写,能够在TensorFlow,CNTK 或 Theano 之上运行。它旨在实现快速实验,能够以最小的延迟把想法变成结果,这是进行研究的关键
Caffe
一个深度学习框架,主要用于计算机视觉,它对图像识别的分类具有很好的应用效果
theano
深度学习库。它与Numpy紧密集成,支持GPU计算、单元测试和自我验证,为执行深度学习中大规模神经网络算法的运算而设计,擅长处理多维数组
Scikit-learn
是一个简单且高效的 数据挖掘和数据分析工具 ,它基于NumPy、SciPy和matplotlib构建。Scikit-learn的基本功能主要包括6个部分:分类,回归,聚类,数据降维,模型选择和数据预处理。Scikit-learn也被称为sklearn
九、其它
asyncio
是用来编写 并发 代码的库,使用 async/await 语法。
asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。
asyncio 往往是构建 IO 密集型和高层级 结构化 网络代码的最佳选择
aiohttp
一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块
可用于实现异步爬虫,更快于 requests 的同步爬虫
WeRoBot
一个微信公众号开发框架 ,也称为的微信机器人框架。WeRoBot可以解析微信服务器发来的消息,并将消息转换成成Message或者Event类型
fabric
Fabric是一个python的远程执行shell的库,同时它也是一个命令行工具。它提供了丰富的同 SSH 交互的接口,可以用来在本地或远程机器上自动化、流水化地执行 Shell 命令
安装:pip install fabric
python3 安装时使用的是fabric3
pip3 install fabric3