python字典应该如何存储在pytables中?

2024-05-07

pytables 本身不支持 python 字典。我处理它的方法是创建以下形式的数据结构:

tables_dict = {
'key'         : tables.StringCol(itemsize=40),
'value'       : tables.Int32Col(),
}

(请注意,我确保键的长度

file_handle.createTable('/', 'dictionary', tables_dict)

然后用以下内容填充它:

file_handle.dictionary.append(dictionary.items())

并通过以下方式检索数据:

dict(file_handle.dictionary.read())

这工作正常,但是读回字典的速度非常慢。我认为问题在于read()函数导致整个字典加载到内存中,这实际上是没有必要的。有一个更好的方法吗?


您可以要求 PyTables 在表内搜索,并在键列上创建索引以加快速度。

创建索引:

table.cols.key.createIndex()

查询其中的值key等于变量search_key:

[row['value'] for row in table.where('key == search_key')]

http://pytables.github.com/usersguide/optimization.html#searchoptim http://pytables.github.com/usersguide/optimization.html#searchoptim

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python字典应该如何存储在pytables中? 的相关文章

  • python 可以检测它运行在哪个操作系统下吗?

    python 可以检测操作系统 然后为文件系统构建 if else 语句吗 我需要将 Fn 字符串中的 C CobaltRCX 替换为 FileSys 字符串 import os path csv from time import strf
  • 网络上的等角柱状图

    我计划为游戏的标记 图钉 构建在线地图 但我无法设置标记的正确纬度 原始地图是一个2048 2048px 的正方形 然后我得到了标记 数千个 地图坐标使用 0 到 100 之间的 x y 表示法设置 0 0 是top left角和100 1
  • 替换字符串列表中的 \x00 的最佳方法?

    我有一个来自已解析 PE 文件的值列表 其中包括 x00每个部分末尾的空字节 我希望能够删除 x00字符串中的字节而不删除所有字节 x 文件中的 s 我试过做 replace and re sub 但并没有取得太大成功 使用Python 2
  • 如何使用pycaffe重构caffe网络

    我想要的是 加载网络后 我将分解一些特定的图层并保存新的网络 例如 原网 数据 gt conv1 gt conv2 gt fc1 gt fc2 gt softmax New net 数据 gt conv1 1 gt conv1 2 gt c
  • 用 Python 编写一个无操作或虚拟类

    假设我有这样的代码 foo fooFactory create 由于种种原因 fooFactory create 可能无法创建实例Foo 如果可以的话我想要fooFactory create 返回一个虚拟 无操作对象 这个对象应该是完全惰性
  • Sorted(key=lambda: ...) 背后的语法[重复]

    这个问题在这里已经有答案了 我不太明白背后的语法sorted 争论 key lambda variable variable 0 Isn t lambda随意的 为什么是variable在看起来像的内容中陈述了两次dict 我认为这里的所有
  • 使用正则表达式解析 Snort 警报文件

    我正在尝试使用 Python 中的正则表达式从 snort 警报文件中解析出源 目标 IP 和端口 和时间戳 示例如下 03 09 14 10 43 323717 1 2008015 9 ET MALWARE User Agent Win9
  • C++ 长 switch 语句还是用地图查找?

    在我的 C 应用程序中 我有一些值充当代表其他值的代码 为了翻译代码 我一直在争论使用 switch 语句还是 stl 映射 开关看起来像这样 int code int value switch code case 1 value 10 b
  • 将 subprocess.Popen 的输出通过管道传输到文件

    我需要启动一些长时间运行的进程subprocess Popen 并希望拥有stdout and stderr从每个自动管道到单独的日志文件 每个进程将同时运行几分钟 我想要两个日志文件 stdout and stderr 每个进程当进程运行
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • 如何在 Windows 上使用 Python 3.6 来安装 Python 2.7

    我想问一下如何使用pip install对于 Python 2 7 当我之前安装并使用 Python 3 6 时 我现在必须使用 Windows 上的 Python 版本 pip install 继续安装 Python 3 6 我需要使用以
  • Python:随时接受用户输入

    我正在创建一个可以做很多事情的单元 其中之一是计算机器的周期 虽然我将把它转移到梯形逻辑 CoDeSys 但我首先将我的想法放入 Python 中 我将进行计数 只需一个简单的操作 counter 1 print counter 跟踪我处于
  • 使用Python将图像转换为十六进制格式

    我的下面有一个jpg文件tmp folder upload path tmp resized test jpg 我一直在使用下面的代码 Method 1 with open upload path rb as image file enco
  • Python 中的这种赋值方式叫什么? a = b = 真

    我知道关于元组拆包 http docs python org tutorial datastructures html tuples and sequences但是当一行中有多个等号时 这个赋值被称为什么 阿拉a b True 它总是让我有
  • 在wxpython中使用wx.TextCtrl并在按钮单击后显示数据的简单示例 - wx新手

    我正在学习 python 并尝试使用 wxpython 进行 UI 开发 也没有 UI exp 我已经能够创建一个带有面板 按钮和文本输入框的框架 我希望能够在文本框中输入文本 并让程序在单击按钮后对输入框中的文本执行操作 我可以获得一些关
  • 字典中列表中仅有的几个索引的总和

    如果我有这种类型的字典 a dictionary dog white 3 5 black 6 7 Brown 23 1 cat gray 5 6 brown 4 9 bird blue 3 5 green 1 2 yellow 4 9 mo
  • 在 pip.conf 中指定多个可信主机

    这是我尝试在我的中设置的 etc pip conf global trusted host pypi org files pythonhosted org 但是 它无法正常工作 参考 https pip pypa io en stable
  • Python 矩阵每一行的总和

    lista 1 2 3 4 5 6 7 8 9 print lista def filas lista res for elemento in lista x sum lista elemento res append x print re
  • 是否可以写一个负的python类型注释

    这可能听起来不合理 但现在我需要否定类型注释 我的意思是这样的 an int Not Iterable a string Iterable 这是因为我为一个函数编写了一个重载 而 mypy 不理解我 我的功能看起来像这样 overload
  • Pandas 在特定列将数据帧拆分为两个数据帧

    I have pandas我组成的 DataFrameconcat 一行由 96 个值组成 我想将 DataFrame 从值 72 中分离出来 这样 一行的前 72 个值存储在 Dataframe1 中 接下来的 24 个值存储在 Data

随机推荐

  • :: 右侧的非法标记

    我有以下模板声明 template
  • 如何阻止猴子的疯狂行为?

    我正在使用 Monkey 工具来运行我的 Android 应用程序的测试 例如 我可能会执行如下所示的运行 adb shell monkey p com myapp v 10000 然而 如果我改变主意并需要取消测试 似乎没有办法不需要等待
  • YII 使用 gzip 压缩应用程序输出

    下面的代码有两个事件 有什么好处 它实际上在做什么 require once yii app Yii createWebApplication config Yii app gt onBeginRequest function event
  • Gradle 在 Android Studio 中应用插件(导航栏的 safeargs)

    我正在尝试学习 Android studio 并遵循官方教程 但在有关 Gradle 的部分遇到了障碍 因为该指南似乎已经过时了 指南是here https developer android com codelabs build your
  • 寻找 Dagger 辅助注射的示例

    From 匕首讨论 https groups google com forum topic dagger discuss QgnvmZ dH9c 我有一个类 它从对象图中获取一些依赖项 并在运行时从调用者获取其他依赖项 public cla
  • 如何使用手写笔在 HTML5 画布上绘图

    我使用 onmousedown onmousemove 和 onmouseup 事件在 HTML5 画布对象上使用 JavaScript 进行绘制 一切正常 现在我想用手写笔替换鼠标 Wacom Intuos Pro 因此我用 onpoin
  • 如何检查 Node.js 中是否设置了环境变量?

    我想检查我的环境变量是否设置快递JS https www npmjs com package express服务器并根据是否设置执行不同的操作 我试过这个 if process env MYKEY undefined console log
  • 显示选定的文件而不回发

    我有一个
  • 应用程序启动计数

    我正在开发一个应用程序 其中用户打开该应用程序 5 次后 在第 6 次尝试时 该应用程序应该询问用户的反馈 我尝试使用活动OnStart OnResume 但它不起作用 因为即使在离开并重新进入活动之后 这些方法也会被调用 另外 根据 An
  • 使用 VBA 设置 Sharepoint 标签/属性

    是否可以使用 VBA 设置 Sharepoint 文档 特别是 Excel 的标签 目前我知道处理此问题的唯一方法是将文件保存到 Sharepoint 在出现提示时设置标签 然后再次下载该文件并将其用作模板 然而 我需要使用这些标签的几种不
  • 如何裁剪图像的任意选定区域并将其保存到服务器?

    我用一张图来总结一下这个场景 我正在尝试在我的网站中创建一个设置个人资料图片的功能 我想要一个页面在图像字段中以原始尺寸显示上传的图像 但个人资料图片的大小应该是 200 153 所以我想要用户可以调整图片大小 也可以将一个框架 框架大小为
  • Asp.Net Web 服务:我想返回错误 403 禁止

    我有一个用 c asp net 编程的网络服务 WebService Namespace http example com WebServiceBinding ConformsTo WsiProfiles BasicProfile1 1 S
  • 如何在 Windows 7 中模拟内存不足的情况

    我有一个用 C 编写的应用程序 运行良好 但有时在现场会出现错误 我们认为这些错误是由于内存不足或与垃圾收集器的交互造成的 如果有人感兴趣 这里有描述 无法将 NHibernate Impl ExpandedQueryExpression
  • 字符集和排序规则到底是什么意思?

    我可以阅读MySQL文档而且非常清楚 但是 如何决定使用哪种字符集呢 校对对什么数据有影响 我要求解释这两者以及如何选择它们 来自 MySQLdocs http dev mysql com doc refman 5 0 en charset
  • 为什么 mmap 在 iOS 上失败?

    我正在尝试使用 mmap 在 iOS 上读取和播放音频文件 它适用于最大约 400MB 的文件 但当我尝试 500MB 文件时 出现 ENOMEM 错误 char path NSBundle mainBundle pathForResour
  • 如何在android studio中使用maven

    我想用底部栏 https github com roughike BottomBar我的项目中的库 当我添加正确的gradle命令在build gradle文件和sync 我收到此错误 Failed to resolve com rough
  • MediaStream 未处理的承诺拒绝:[object DOMError](在 Safari 11 中)

    在下面初始化 WebRTC 的方法中 我在 Safari Tech Preview 11 中遇到了未处理的承诺拒绝 具体来说 当我分配MediaStream像这样的视频元素 video srcObject event stream 堆栈跟踪
  • C++ 递归变量

    我想我的问题真的很简单 但我现在尝试解决它几个小时 但我似乎不明白 我有一个 ast 树 用 boost library 创建 并通过递归迭代它 我将所有节点保存在 NodeDescriptions 列表中 其中包含实际节点的编号 实际节点
  • 如何在 Rails 2 中正确使用 OmniAuth

    我正在尝试为我的应用程序使用 OmniAuth 0 2 6 策略 架构为 Rails 2 3 10 Rack 版本为 1 1 OmniAuth 需要此版本或更高版本 出现的问题是 Rails 无法识别我重定向到 auth provider
  • python字典应该如何存储在pytables中?

    pytables 本身不支持 python 字典 我处理它的方法是创建以下形式的数据结构 tables dict key tables StringCol itemsize 40 value tables Int32Col 请注意 我确保键