pytables - 如何将行复制到内存中

时间:2013-08-20 22:19:22

标签: python pytables

我有一个pytable。我经常需要将行复制到内存中的对象,然后插入到另一个pytable中。我想知道最简单的方法是什么。以下代码不起作用,因为无法将Row对象转换为dict。

for row in hf.root.my_table.iterrows():
   rec = dict(row)

另外,我想有条件地将数据复制到另一个文件,可能会添加1-2个新列。为此,我需要从一个表中提取表描述,修改它,并使用修改后的表描述来创建一个新表。我怎么能这样做?

这也不起作用。总的来说,我发现使用pytables的方式有点尴尬,并且想知道更好的做事方式。

1 个答案:

答案 0 :(得分:0)

例如the documentation中所述,您可以使用Row.fetch_all_fields方法来获取独立副本,例如在关闭表文件后保留其信息。

您的示例代码如下

for row in hf.root.my_table.iterrows():
    rec = row.fetch_all_fields()

rec是一个numpy void标量,具有与行相同的键; rec['field']产生的数据与row['field']相同。

相关问题