我在Python中有这个列表:
[array([1, 2, 3]), array([3., 4., 5., 6., 7.]), array([7, 8])]
我想把它导出到csv看起来像这样 - 新行上的每个数组......
1, 2, 3
3., 4., 5., 6., 7.
7, 8
每个数组都有不同的长度。
我尝试使用numpy.savetxt
,numpy.vstack
,但这些不同的长度给我带来了问题。
有人可以帮忙吗?
答案 0 :(得分:3)
您也可以使用:
import csv
import numpy as np
b = open('output.csv', 'w')
a = csv.writer(b)
data = [np.array([1, 2, 3]), np.array([3., 4., 5., 6., 7.]), np.array([7, 8])]
a.writerows(data)
b.close()
答案 1 :(得分:3)
Pandas模块特别适合处理缺少值的数据:
import pandas as pd
arr = [[1, 2, 3], [3, 4], [5, 6, 7, 8]]
df = pd.DataFrame(arr)
print(df.to_csv(index=False, header=False))
输出:
'1,2,3.0,\n3,4,,\n5,6,7.0,8.0\n'