如何在Python中将数组列表导出到csv中?

时间:2014-12-21 14:15:11

标签: python arrays csv numpy export

我在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.savetxtnumpy.vstack,但这些不同的长度给我带来了问题。

有人可以帮忙吗?

2 个答案:

答案 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'