Iterable API,用于表格数据集,包括CSV、XLS、XML和JSON。

itertable的Python项目详细描述


IterTable是一个Pythonic API,用于迭代表格数据格式,包括CSV、XLS、XML和JSON。在

fromitertableimportload_fileforrowinload_file("example.xls"):print(row.date,row.name)

Latest PyPI ReleaseRelease NotesLicenseGitHub StarsGitHub ForksGitHub Issues

Travis Build StatusPython Support

Note: Prior to version 2.0, IterTable was wq.io, a submodule of the wq framework. The package has been renamed to avoid confusion with the wq framework website (https://wq.io). Similarly, IterTable's *IO classes have been renamed to *Iter, as the API is not intended to match that of Python's StringIO or other io classes.

^{pr2}$

入门

# Recommended: create virtual environment# python3 -m venv venv# . venv/bin/activate

python3 -m pip install itertable

# GIS support (Fiona & Shapely)
python3 -m pip install itertable[gis]# Excel write support
python3 -m pip install itertable[write]# (xls/xlsx read support is enabled by default)# Pandas integration
python3 -m pip install itertable[pandas]

概述

IterTable提供了一个用于加载、迭代和编写表格数据集的通用API。目标是避免每次需要处理外部数据时都需要记住诸如csvxlrd或{a11}的唯一用法。相反,IterTable将这些库抽象到一个一致的接口中,该接口作为namedtuplesiterable。只要有可能,数据集的字段名都会自动从源文件中确定,例如Excel电子表格中的列标题。在

fromitertableimportExcelFileIterdata=ExcelFileIter(filename='example.xls')forrowindata:print(row.name,row.date)

IterTable提供了许多类似上述的内置类,包括CsvFileIterXmlFileIter和{}。还有一个方便的函数load_file(),它试图自动确定将哪个类用于给定的文件。在

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

所有包含的*FileIter类都支持对外部文件的读写,但是对Excel文件的写支持需要itertable[write](这将安装xlwtxlswriter)。在

网络客户端

IterTable还提供了上述每个类的网络等价物,以便于从第三方web服务加载数据。在

fromitertableimportJsonNetIterclassWebServiceIter(JsonNetIter):url="http://example.com/api"data=WebServiceIter(params={'type':'all'})forrowindata:print(row.timestamp,row.value)

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

熊猫分析

当安装Pandas(通过itertable[pandas])时,可以使用itertable类上的as_dataframe()方法来创建DataFrame,从而实现更广泛的分析可能性。在

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

GIS支持

当安装了FionaShapely时(通过itertable[gis]),itertable还可以打开并创建shapefile和其他OGR兼容的地理数据格式。在

fromitertableimportShapeIterdata=ShapeIter(filename='sites.shp')forid,siteindata.items():print(id,site.geometry.wkt)

关于IterTable的gis支持的更多信息可以在here上找到。在

命令行界面

IterTable提供了一个简单的CLI来呈现文件或Iter类的内容。这对于检查文件或集成shell自动化工作流非常有用。默认输出是CSV,但是可以通过设置-f json将其更改为JSON。在

python3 -m itertable example.json         # JSON to CSV
python3 -m itertable -f json example.csv  # CSV to JSON
python3 -m itertable example.xlsx "start_row=5"
python3 -m itertable http://example.com/example.csv
python3 -m itertable itertable.CsvNetIter "url=http://example.com/example.csv"

扩展

支持任意格式的extend IterTable很简单。每个提供的类都由一个BaseIter类和mixin类(loadersparsers,和mappers)组成,它们处理流程的各个步骤。在

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

推荐PyPI第三方库


热门话题
java_主路径未指向正确路径   EclipseNullPointerException来自java。lang.j9vm   Java中的图像颜色算法   java测试驱动开发问题   使用Java API将任何文件类型转换为pdf   java检查特定jframe是否从另一个框架打开   java将对象分配给接口变量而不实现接口   java JTable、JLabel及其图标(JLabel不能用图标定制)?   Java netbeans如何显示保存在E分区目录中的映像   java中来自数据库的Json对象   变量Java Passbyreference不工作?   macos“将我的Java应用程序带到MacOSX”:菜单   java JavaFX/Bundling/MacOS商店   java内部类“实例无法访问外部类”数据成员