用于读取和写入外部数据集的一致可iterable api

wq.io的Python项目详细描述


wq.io

wq.io是一个用于消费的python库 (输入)、迭代和生成(输出)外部数据资源 各种格式。io促进了wq framework与其他系统和格式之间的互操作性。

wq.io是designed to be customized, 具有base class和模混合 处理loading的类, parsing,和 mapping外部数据到 应用程序编程接口。

Latest PyPI ReleaseRelease NotesDocumentationLicenseGitHub StarsGitHub ForksGitHub Issues

Travis Build StatusPython Support

Somewhat coincidentally, https://wq.io is also the URL for the website describing the wq framework as a whole. The documentation for wq.io (the library) is available on wq.io (the website) at https://wq.io/wq.io.

开始

# Recommended: create virtual environment
# python3 -m venv venv
# . venv/bin/activate
# Install entire wq suite (recommended)
pip install wq

# Install only wq.io
pip install wq.io

# To enable wq.io's GIS support
pip install geopandas # includes Shapely & Fiona
# To enable wq.io's Excel write support
pip install xlwt # xls support
pip install xlsxwriter # xlsx support
# (xls/xlsx read support is enabled by default)

有关详细信息,请参见the wq documentation

功能

io提供了一个通用api,用于加载、遍历和 正在写入表格数据集。基本思想是避免需要记住 例如 csvxlrd,或 xml.etree 每次需要处理外部数据时。相反,wq.io 将这些库抽象为一个一致的接口,该接口作为 iterablenamedtuples。 只要可能,数据集的字段名都是自动的 由源文件确定,例如Excel中的列标题 电子表格。

fromwq.ioimportExcelFileIOdata=ExcelFileIO(filename='example.xls')forrowindata:print(row.name,row.date)

wq.io提供了许多与上述类似的内置类,包括 CsvFileIOXmlFileIOJsonFileIO。还有一个 方便函数load_file(),尝试自动 确定要用于给定文件的类。

fromwq.ioimportload_filedata=load_file('example.csv')forrowindata:print(row.name,row.date)

所有包含的*FileIO类都支持读和写 对于外部文件,尽管对excel文件的写支持需要 附加库(xlwtxlsxwriter)未列出的 作为依赖。

网络客户端

wq.io还提供了上述每一项的网络能力等价物 类,以便于从第三方Web服务加载数据。

fromwq.ioimportJsonNetIOclassWebServiceIO(JsonNetIO):url="http://example.com/api"data=WebServiceIO(params={'type':'all'})forrowindata:print(row.timestamp,row.value)

使用强大的requests库 在内部通过http加载数据。

熊猫分析

安装Pandas时, as_dataframe()wq.io类上的方法可用于创建 DataFrame, 实现更广泛的分析可能性。

instance=WebServiceIO(params={'type':'all'})df=instance.as_dataframe()print(df.value.mean())

地理信息系统支持

FionaShapely已安装,wq.io 还可以打开和创建shapefile和其他与ogr兼容的地理位置 数据格式。

fromwq.ioimportShapeIOdata=ShapeIO(filename='sites.shp')forid,siteindata.items():print(id,site.geometry.wkt)

扩展wq.io

每个^ {Tt7} $类由MIXIN类组成 (loadersparsers,和 mappers)处理各种步骤的 在这个过程中。通过扩展这些混音或上面的混音类, 很容易extend wq.io 支持任意格式。climata library提供了 用于加载气候和水文的自定义IO类的示例 数据。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
泛型Java将参数约束到公共超类   java Spring引导:在构造函数中加载属性文件并用作autowire注释   java中的优先级队列顺序错误。util。优先级队列和特定比较器   带有Java Sprint引导REST的Google应用程序引擎标准在GCLOUD服务器中不起作用   安卓从Java代码中检索变量并将其作为参数分配给TestNG   用于读取列表值的Java JSON对象   java Hibernate映射:实体映射中的重复列   多线程。start()不从Java中的父线程分派   java Android facebook webdialog网络错误(netstack:lib_mgr错误)   http使用Java阻止网站   java DynamicAsper:访问连接报表中动态列的值   java如何分离文件中的每个单词,并在表中显示每个单词和每个单词的编号?   如何打包和部署EclipseJava应用程序?   java使用Mule Anypoint,我想实现没有flowref的功能   java Kafka consumer ClassNotFoundException   java错误捕获帮助;消息不断重复   javaspring,Thymeleaf和CSS如何给错误着色   javascript如何在java中实现反向ajax   如何通过UDP连接从java数据包中读取序列号?