我的问题的答案是使用dtype
unicode字符串(U2
例如)。
感谢E.Kehler的回答,我找到了解决方案。如果在定义中使用str
代替,则第二列的输出为空:S8``dtype
numpy.genfromtxt("test.csv", delimiter=",", dtype='f8,str')
输出为:
array([(1.0, ''), (2.0, ''), (3.0, '')], dtype=[('f0', '<f16'), ('f1', '<U0')])
这建议我dtype
解决问题的正确方法是unicode字符串:
numpy.genfromtxt("test.csv", delimiter=",", dtype='f8,U2')
给出预期的输出:
array([(1.0, 'a'), (2.0, 'b'), (3.0, 'c')], dtype=[('f0', '<f16'), ('f1', '<U2')])
有用的信息也可以在numpy数据类型doc页面上找到。