当前位置: 首页 > 面试题库 >

从Python将字符串列表存储到HDF5数据集

柳项明
2023-03-14
问题内容

我正在尝试将字符串的可变长度列表存储到HDF5数据集。该代码

import h5py
h5File=h5py.File('xxx.h5','w')
strList=['asas','asas','asas']  
h5File.create_dataset('xxx',(len(strList),1),'S10',strList)
h5File.flush() 
h5File.Close()

我收到一条错误消息,指出“ TypeError:dtype的转换路径:dtype(’&lt U3’)”,其中&lt表示实际小于符号
如何解决此问题。


问题答案:

您正在读取Unicode字符串,但将数据类型指定为ASCII。根据h5py
Wiki
,h5py当前不支持此转换。

您需要将字符串编码为h5py处理的格式:

asciiList = [n.encode("ascii", "ignore") for n in strList]
h5File.create_dataset('xxx', (len(asciiList),1),'S10', asciiList)

注意:并非所有以UTF-8编码的内容都可以以ASCII编码!



 类似资料:
  • 我必须创建以下程序: 创建一个允许您键入名称的程序。用户键入并提交(使用enter键)的名称应存储在arraylist中。然后,arraylist中的名称应打印在屏幕上。 我的问题是,我只能在我的数组列表中存储一个名字。 我的代码: 第一个问题是,在键入一个名称并提交后,您不能键入任何内容,因此我必须重置输入,如使用整数值:

  • 问题内容: 我想从python中的字符串列表中删除所有空字符串。 我的想法如下: 有没有更多的Python方式可以做到这一点? 问题答案: 我会用: Python 3从返回一个迭代器,因此应包装在对的调用中

  • 我有一个n-by-m熊猫DataFrame定义如下。(我知道这不是最好的方法。这对我在实际代码中尝试做的事情是有意义的,但这将是这篇文章的TMI,所以请相信我的话,这种方法在我的特定场景中是有效的。) 我将列表存储在此DataFrame的单元格中,如下所示。 出于某种原因,DataFrame将此列表存储为字符串而不是列表。 我有两个问题要问你。 为什么DataFrame将列表存储为字符串,是否有办

  • 问题内容: 我正在尝试采用一个字符串,并将其附加到列表中包含的每个字符串中,然后使用完成的字符串创建一个新列表。例: 我尝试了循环,并尝试了列表理解,但这是垃圾。一如既往的任何帮助,不胜感激。 问题答案: 最简单的方法是使用列表理解: 请注意,我避免使用内置名称,因为那样会掩盖或隐藏内置名称,这非常不好。 另外,如果您实际上不需要列表,而只需要一个迭代器,则生成器表达式可能会更高效(尽管在短列表中

  • 我想做一个名为句子的字符串,包含“你好,世界,你好吗?”

  • 问题内容: 如何获取并将其存储到变量中?我想在程序中使用稍后生成的字符串。 我对Java还是很陌生,所以我不太熟悉我认为它将是解决方案。或者,如果您有其他任何想法,请告诉我。谢谢 问题答案: 遵循以下原则 应该是您所需要的。 相关文件: StringWriter 打印作家 可投掷

  • 我是Java8的新手,试图弄清楚流和过滤器是如何与列表一起工作的。我有一个预定义字符串的列表,我有一个我正在处理的字符串值。如果字符串以预定义列表中的任何字符串开始,我想将处理过的字符串添加到一个新列表中。如果字符串与列表中的任何字符串不匹配,那么将其保存到另一个列表中。 例如: 结果: 有没有一种方法可以在java 8中使用流以更简单的方式实现这一点? 比如: 最后,我想保存(“10.11.12

  • 问题内容: 我有一个列表格式,如下所示: 如何转换为包含如下所示元素的列表: 问题答案: 用途: 或使用将其视为JSON : 以Python文字作为输入(因此Python源代码中的文本将为您提供一个值),以JSON输入。 演示: 只有当您的输入字符串中包含多个整数列表时,两者之间的区别才会发挥作用。JSON字符串包含unicode,在Python 2上无法正确解释,并且JSON类型只是支持的一部分