Python常用第三方库
Python常用第三方库
一、 文件读写
文件读写常用库/函数
文件的读写包括常见的
txt
、Excel
、xml
、二进制文件以及其他格式的数据文本,主要用于本地数据的读写详细介绍及使用案例:文件读写模块介绍及用例
open(name[, mode[, buffering]]) [内置函数]Python默认的文件读写方法 ★★★ numpy.loadtxt、numpy.load和numpy.fromfile [第三方库]Numpy自带的读写函数,包括loadtxt、load和fromfile,用于文本、二进制文件读写 ★★★ pandas.read_* [第三方库]Pandas自带的read文件方法,例如ead_csv、read_fwf、read_table等,用于文本、Excel、二进制文件、HDF5、表格、SAS文件、SQL数据库、Stata文件等的读写 ★★★ xlrd [第三方库]用于Excel文件读取 ★★ xlwt [第三方库]用于Excel文件写入 ★★ pyexcel-xl [第三方库]用于Excel文件读写 ★★ xluntils [第三方库]用于Excel文件读写 ★★ pyExcelerator [第三方库]用于Excel文件读写 ★ openpyxl [第三方库]用于Excel文件读写 ★ xlwings [第三方库]xml读取和解析 lxml [第三方库]xml和HTML读取和解析 ★★★ xml [Python标准库]xml对象解析和格式化处理 ★★★ libxml2 [第三方库]xml对象解析和格式化处理 ★ xpath [第三方库]xml对象解析和格式化处理 ★★ win32com [第三方库]有关Windows系统操作、Office(Word、Excel等)文件读写等的综合应用库 ★ zipfile [python内置] zip文件的操作
二、网络抓取和解析
网络抓取和解析常用库/函数
网络抓取和解析用于从互联网中抓取信息,并对HTML对象进行处理,有关xml对象的解析和处理的库在“1.文件读写”中找到
requests [第三方库]网络请求库,提供多种网络请求方法并可定义复杂的发送信息 ★★★ urllib [Python标准库] Python自带的库,简单的读取特定URL并获得返回的信息 ★★ urllib2 [Python标准库] Python自带的库,读取特定URL并获得返回的信息,相对于urllib可处理更多HTTP信息,例如cookie、身份验证、重定向等 ★★ urlparse [Python标准库] Python自带的URL解析库,可自动解析URL不同的域、参数、路径等 ★★★ HTMLParser [Python标准库]Python自带的HTML解析模块,能够很容易的实现HTML文件的分析 ★★★ Scapy [第三方库]分布式爬虫框架,可用于模拟用户发送、侦听和解析并伪装网络报文,常用于大型网络数据爬取 ★★★ Beautiful Soup [第三方库]Beautiful Soup是网页数据解析和格式化处理工具,通常配合Python的urllib、urllib2等库一起使用 ★★★
三、数据库连接
数据库连接常用库/函数
数据库连接可用于连接众多数据库以及访问通用数据库接口,可用于数据库维护、管理和增、删、改、查等日常操作
mysql-connector-python [第三方库]MySQL官方驱动连接程序 ★★★ MySQL-python [第三方库]MySQL连接库 ★★ pymysql [第三方库]MySQL连接库 cx_Oracle [第三方库]Oracle连接库 ★★★ psycopg2 [第三方库]Python编程语言中非常受欢迎的PostgreSQL适配器 ★★★ redis [Python标准库]Redis连接库 ★★★ pymongo [第三方库]MongoDB官方驱动连接程序 ★★★ HappyBase [第三方库]HBase连接库 ★★★ py2neo [第三方库]Neo4j连接库 ★★★ cassandra-driver [第三方库] Cassandra(1.2+)和DataStax Enterprise(3.1+)连接库 ★★★ sqlite3 [Python标准库] Python自带的模块,用于操作SQLite数据库 ★★★ pysqlite2 [第三方库] SQLite 3.x连接库 ★★ bsddb3 [第三方库]Berkeley DB连接库 bsddb3 bsddb [Python标准库] Python自带的模块,提供了一个到Berkeley DB库的接口 ★★ dbhash [Python标准库] Python自带的模块,dbhash模块提供了使用BSD数据库库打开数据库的功能。该模块镜像了提供对DBM样式数据库访问的其他Python数据库模块的接口。bsddb模块需要使用dbhash ★★ adodb [第三方库] ADOdb是一个数据库抽象库,支持常见的数据和数据库接口并可自行进行数据库扩展,该库可以对不同数据库中的语法进行解析和差异化处理,具有很高的通用性 ★★★ SQLObject [第三方库] SQLObject是一种流行的对象关系管理器,用于向数据库提供对象接口,其中表为类、行为实例、列为属性 ★★ SQLAlchemy [第三方库] SQLAlchemy是Python SQL工具包和对象关系映射器,为应用程序开发人员提供了SQL的全部功能和灵活性控制 ★★ ctypes [第三方库] ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数 ★★★ pyodbc [第三方库] Python通过ODBC访问数据库的接口库 ★★★ Jython [第三方库] Python通过JDBC访问数据库的接口库 ★★★
四、数据清洗转换
数据清洗转换常用库/函数
数据清洗转换主用于数据正式应用之前的预处理工作
推荐度frozenset([iterable])[Python内置函数]返回一个新的frozenset对象,可选择从iterable取得的元素★★★int(x)[Python内置函数]返回x的整数部分★★★isinstance(object, classinfo)[Python内置函数]返回object是否是指定的classinfo实例信息★★★len(s)[Python内置函数]返回对象的长度或项目数量★★★long(x)[Python内置函数]返回由字符串或数字x构造的长整型对象★★★max(iterable[, key])[Python内置函数]返回一个可迭代或最大的两个或多个参数中的最大项★★★min(iterable[, key])[Python内置函数]返回一个可迭代或最大的两个或多个参数中的最小项★★★range(start, stop[, step])[Python内置函数]用于与for循环一起创建循环列表,通过指定start(开始)、stop(结束)和step(步长)控制迭代次数并获取循环值★★★raw_input(prompt)[Python内置函数]捕获用户输入并作为字符串返回(不推荐使用input作为用户输入的捕获函数)★★★round(number[, ndigits])[Python内置函数]返回number小数点后ndigits位的四舍五入的浮点数★★★set([iterable])[Python内置函数]返回一个新的集合对象,可选择从iterable获取的元素★★★slice(start, stop[, step])[Python内置函数]返回表示由范围(start、stop、step)指定的索引集的切片对象★★sorted(iterable[, cmp[, key[, reverse]]])[Python内置函数]从iterable的项中返回一个新的排序列表★★★xrange(start, stop[, step])[Python内置函数]此函数与range()非常相似,但返回一个xrange对象而不是列表★★★string[Python标准库]字符串处理库,可实现字符串查找、分割、组合、替换、去重、大小写转换及其他格式化处理★★★re[Python标准库]正则表达式模块,在文本和字符串处理中经常使用★★★random[Python标准库]该模块为各种分布实现伪随机数生成器,支持数据均匀分布、正态(高斯)分布、对数正态分布、负指数分布、伽马和β分布等★★★os[Python标准库]用于新建、删除、权限修改、切换路径等目录操作,以及调用执行系统命令★★★os.path[Python标准库]针对目录的遍历、组合、分割、判断等操作,常用于数据文件的判断、查找、合并★★★prettytable[Python标准库]格式化表格输出模块★★json[Python标准库]Python对象与json对象的转换★★★base64[Python标准库]将任意二进制字符串编码和解码为文本字符串的Base16,Base32和Base64★★★
五、数据计算和统计分析
数据计算和统计分析常用库/函数
数据计算和统计分析主要用于数据探查、计算和初步数据分析等工作
numpy [第三方库]NumPy是Python科学计算的基础工具包,很多Python数据计算工作库都依赖它 ★★★ scipy [第三方库]Scipy是一组专门解决科学和工程计算不同场景的主题工具包 ★★★ pandas [第三方库]Pandas是一个用于Python数据分析的库,它的主要作用是进行数据分析。Pandas提供用于进行结构化数据分析的二维的表格型数据结构DataFrame,类似于R中的数据框,能提供类似于数据库中的切片、切块、聚合、选择子集等精细化操作,为数据分析提供了便捷 ★★★ statsmodels [第三方库]Statsmodels是Python的统计建模和计量经济学工具包,包括一些描述性统计、统计模型估计和统计测试,集成了多种线性回归模型、广义线性回归模型、离散数据分布模型、时间序列分析模型、非参数估计、生存分析、主成分分析、核密度估计以及广泛的统计测试和绘图等功能 ★★★ abs(x) [Python内置函数]返回x的绝对值 ★★★ cmp(x, y) [Python内置函数]比较两个对象x和y,并根据结果返回一个整数。如果x <y,则返回值为负数,如果x == y则为零,如果x> y则返回值为正 ★★ float(x) [Python内置函数]返回从数字或字符串x构造的浮点数 ★★★ pow(x, y[, z]) [Python内置函数]返回x的y次幂。如果z存在,则返回x的y次幂,模z ★★★ sum(iterable[, start]) [Python内置函数]从左到右依次迭代,返回总和 ★★★ math [Python标准库]数学函数库,包括正弦、余弦、正切、余切、弧度转换、对数运算、圆周率、绝对值、取整等数学计算方法 ★★★ cmath [Python标准库]与math基本一致,区别是cmath运算的是复数 ★★ decimal [Python标准库]10进制浮点运算 ★★ fractions [Python标准库]分数模块提供对有理数算术的支持 ★★
六、自然语言处理和文本挖掘
自然语言处理和文本挖掘常用库/函数
自然语言处理和文本挖掘库主要用于以自然语言文本为对象的数据处理和建模
nltk [第三方库]NLTK是一个Python自然语言处理工具,它用于对自然语言进行分类、解析和语义理解。目前已经有超过50种语料库和词汇资源 ★★★ pattern [第三方库]Pattern是一个网络数据挖掘Python工具包,提供了用于网络挖掘(如网络服务、网络爬虫等)、自然语言处理(如词性标注、情感分析等)、机器学习(如向量空间模型、分类模型等)、图形化的网络分析模型 ★★★ gensim [第三方库]Gensim是一个专业的主题模型(发掘文字中隐含主题的一种统计建模方法)Python工具包,用来提供可扩展统计语义、分析纯文本语义结构以及检索语义上相似的文档 ★★★ 结巴分词 [第三方库]结巴分词是国内流行的Python文本处理工具包,分词模式分为三种模式:精确模式、全模式和搜索引擎模式,支持繁体分词、自定义词典等,是非常好的Python中文分词解决方案,可以实现分词、词典管理、关键字抽取、词性标注等 ★★★ SnowNLP [第三方库]SnowNLP是一个Python写的类库,可以方便的处理中文文本内容。该库是受到了TextBlob的启发而针对中文处理写的类库,和TextBlob不同的是这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典 ★★ smallseg [第三方库] Smallseg是一个开源的、基于DFA的轻量级的中文分词工具包。可自定义词典、切割后返回登录词列表和未登录词列表、有一定的新词识别能力 ★★ spaCy [第三方库] spaCy是一个Python自然语言处理工具包,它结合Python和Cython使得自然语言处理能力达到了工业强度 ★★★ TextBlob [第三方库]TextBlob 是一个处理文本数据的Python库,可用来做词性标注、情感分析、文本翻译、名词短语抽取、文本分类等 ★★ PyNLPI [第三方库] PyNLPI是一个适合各种自然语言处理任务的集合库,可用于中文文本分词、关键字分析等,尤其重要的是其支持中英文映射,支持UTF-8和GBK编码的字符串等 ★★★
七、图像和视频处理
图像和视频处理常用库/函数
图像处理和视频处理主要适用于基于图像的操作、处理、分析和挖掘,如人脸识别、图像识别、目标跟踪、图像理解等
PIL [第三方库]PIL是一个常用的图像读取、处理和分析的库,提供了多种数据处理、变换的操作方法和属性 ★★ OpenCV [第三方库]OpenCV是一个强大的图像和视频工作库。它提供了多种程序接口,支持跨平台(包括移动端)应用。OpenCV的设计效率很高,它以优化的C / C ++编写,库可以利用多核处理。除了对图像进行基本处理外,还支持图像数据建模,并预制了多种图像识别引擎,如人脸识别 ★★★ scikit-image [第三方库] scikit-image(也称skimage)是一个图像处理库,支持颜色模式转换、滤镜、绘图、图像处理、特征检测等多种功能 ★★ imageop [Python标准库] Python自带的函数,对图像基本操作,包括裁剪、缩放、模式转换 ★ colorsys [Python标准库] Python自带的函数,实现不同图像色彩模式的转换 ★ imghdr [Python标准库] Python自带的函数,返回图像文件的类型 ★
八、音频处理
音频处理常用库/函数
音频处理主要适用于基于声音的处理、分析和建模,主要应用于语音识别、语音合成、语义理解等。