生成pandas数据帧,基于json表模式描述符加载和提取数据。
jsontableschema-pandas的Python项目详细描述
基于json表模式生成和加载pandas数据帧 描述符。
Version ^{tt1}$ contains breaking changes:
- 已删除Storage(prefix=)参数(是存根)
- 将Storage(tables=)重命名为Storage(dataframes=)
- 将Storage.tables重命名为Storage.buckets
- 将Storage.read更改为读入内存
- 添加了Storage.iter以逐行生成
开始
安装
$ pip install datapackage $ pip install jsontableschema-pandas
示例
您可以轻松地将数据包中的资源加载为pandas数据帧 只需使用datapackage.push_datapackage函数:
>>>importdatapackage>>>data_url='http://data.okfn.org/data/core/country-list/datapackage.json'>>>storage=datapackage.push_datapackage(data_url,'pandas')>>>storage.buckets['data___data']>>>type(storage['data___data'])<class'pandas.core.frame.DataFrame'>>>>storage['data___data'].head()NameCode0AfghanistanAF1ÅlandIslandsAX2AlbaniaAL3AlgeriaDZ4AmericanSamoaAS<>也可以将现有的数据帧拉入数据中。 套餐:
>>>datapackage.pull_datapackage('/tmp/datapackage.json','country_list','pandas',tables={...'data':storage['data___data'],...})Storage
储存
包实现Tabular Storage 接口。
我们可以通过这种方式获得存储空间:
>>>fromjsontableschema_pandasimportStorage>>>storage=Storage()
存储用作pandas数据帧的容器。您可以定义新的 使用storage.create方法在存储器中的数据帧:
>>>storage.create('data',{...'primaryKey':'id',...'fields':[...{'name':'id','type':'integer'},...{'name':'comment','type':'string'},...]...})>>>storage.buckets['data']>>>storage['data'].shape(0,0)
使用storage.write用数据填充数据帧:
>>>storage.write('data',[(1,'a'),(2,'b')])>>>storage['data']idcomment1a2b
你也可以用 tabulator到 从外部数据文件填充数据帧:
>>>importtabulator>>>withtabulator.Stream('data/comments.csv',headers=1)asstream:...storage.write('data',stream)>>>storage['data']idcomment1a2b1good
正如您所见,后续写入只是在现有的基础上追加新数据。 一个。