在Python中将字符串列表转换为数组

时间:2017-11-08 19:25:37

标签: python arrays string numpy

我有一些代码循环遍历文件并获取日期时间字符串,并将每个文件中的字符串追加到空列表中。我试图将这个字符串列表转换为字符串数组:

timestamp=[]
line = open(filename).readlines()
lines = line[0::24]
for i in lines:
     time=i[7:27]
     timestamp.append(time)


timestamp=np.array(timestamp)

我收到此错误:

  ValueError: setting an array element with a sequence

时间戳列表如下所示:

[' 04/23/2014 00:00:00', ' 04/23/2014 00:10:00', ' 04/23/2014 00:20:00', ' 04/23/2014 00:30:00', ' 04/23/2014 00:40:00', ' 04/23/2014 00:50:00', ' 04/23/2014 01:00:00', ' 04/23/2014 01:10:00', ' 04/23/2014 01:20:00', ' 04/23/2014 01:30:00', ' 04/23/2014 01:40:00', ' 04/23/2014 01:50:00', ' 04/23/2014 02:00:00', ' 04/23/2014 02:10:00', ' 04/23/2014 02:20:00', ' 04/23/2014 02:30:00', ' 04/23/2014 02:40:00', ' 04/23/2014 02:50:00', ' 04/23/2014 03:00:00', ' 04/23/2014 03:10:00']

我不确定为什么我无法将其转换为数组,以便我可以将其写入带有其他数组的csv文件中的列。这应该是有效的,所以我不确定为什么它不会。任何想法将不胜感激!

1 个答案:

答案 0 :(得分:0)

numpy.array是同一类型的同构多维对象数组。它与任何类型的Python列表都不相同。

这里有一个很好的解释:How to assign a string value to an array in numpy?

如果你真的想存储字符串,那么你需要设置你的numpy数组的dtype=str参数。