将多列数组保存到 csv
Save array with multiple columns to csv
如果我这样写,我会得到我想要的 csv 文件
a = asarray([ [1,2,3], [4,5,6], [7,8,9] ])
savetxt("foo.csv", a, delimiter=",")
但问题是为了获取值,我有类似的东西:
for j in range(3):
for i in range(3):
e = get_val(i) # so I get 1,2,3; next loop 4,5,6 and third 7,8,9
所以我尝试使用 append 以我需要的格式制作数组,但它
好像我明白了
a = [1,2,3,4,5,6,7,8,9]
那么有人知道如何使用所需格式的数组吗?
注意:我正在使用的真实应用程序中的输入是openpose
中的骨架点
让我们倒过来试试。假设我们有这个线性列表 a
,我们可以
将其放入 numpy
数组中,如下所示。这将允许您使用您的功能
get_val
相反。
import numpy as np
a = [1,2,3,4,5,6,7,8,9]
b = []
for j in range(3):
b2 = []
for i in range(3):
e = a[3*j+i] # get_val(i)
b2.append(e)
b.append(b2)
print(np.asarray(b))
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
我想你需要嵌套两个循环,像这样:
a = []
n = 1
for j in range(1,4):
b = []
for i in range(1,4):
b.append(n)
n += 1
a.append(b)
print(a)
您的方向正确,但需要初始化两个列表。内部列表,我们称它为 b,需要在每个外部循环开始时重新初始化,否则它会不断增长到 6 项,然后是 9 项。
如果我这样写,我会得到我想要的 csv 文件
a = asarray([ [1,2,3], [4,5,6], [7,8,9] ])
savetxt("foo.csv", a, delimiter=",")
但问题是为了获取值,我有类似的东西:
for j in range(3):
for i in range(3):
e = get_val(i) # so I get 1,2,3; next loop 4,5,6 and third 7,8,9
所以我尝试使用 append 以我需要的格式制作数组,但它 好像我明白了
a = [1,2,3,4,5,6,7,8,9]
那么有人知道如何使用所需格式的数组吗?
注意:我正在使用的真实应用程序中的输入是openpose
让我们倒过来试试。假设我们有这个线性列表 a
,我们可以
将其放入 numpy
数组中,如下所示。这将允许您使用您的功能
get_val
相反。
import numpy as np
a = [1,2,3,4,5,6,7,8,9]
b = []
for j in range(3):
b2 = []
for i in range(3):
e = a[3*j+i] # get_val(i)
b2.append(e)
b.append(b2)
print(np.asarray(b))
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
我想你需要嵌套两个循环,像这样:
a = []
n = 1
for j in range(1,4):
b = []
for i in range(1,4):
b.append(n)
n += 1
a.append(b)
print(a)
您的方向正确,但需要初始化两个列表。内部列表,我们称它为 b,需要在每个外部循环开始时重新初始化,否则它会不断增长到 6 项,然后是 9 项。