【发布时间】:2017-01-03 14:34:39
【问题描述】:
我正在尝试将 unicode 数据文件读取到几个列表中。我有这种格式的混合 unicode/integer/float 数据文件:
Է 1335 1.1
դ 1380 1.2
32 1.3
ն 1398 1.4
ե 1381 1.5
ր 1408 1.6
我正在根据这个问题numpy.genfromtxt阅读带有numpy genfromtxt的文件:
decodef = lambda x: x.decode("utf-8")
arr = np.genfromtxt("./data_files/data", delimiter="\t", dtype="U1, i4, f8", converters={0: decodef})
这给了我一个numpy.ndarray 不包含空格,但第一列中空格的空元素:
('Է', 1335, 1.1)
('դ', 1380, 1.2)
('', 32, 1.3)
('ն', 1398, 1.4)
('ե', 1381, 1.5)
('ր', 1408, 1.6)
我已经尝试使用autostrip=False (the default value)、missing_values=" "、replace_space='_' 参数解决空间问题,但仍然得到相同的数组,其中空格为空项。我猜所有这些参数都只用于分隔符操作?!
任何想法如何克服这个问题?
正在使用 Python 3.4.5 版。
【问题讨论】:
-
有什么问题?这是一个结构化数组。第三条记录中的空字符串?给定 dtype 数组显示看起来很正常。
-
是的,第三条记录中的空字符串。对于其他符号,一切都按预期工作。编辑该部分以澄清。 )
-
某些参数适用于字段名称,而不是值。有填充值参数吗?
-
否,未设置填充值参数。
标签: python numpy unicode utf-8