按列将多个列表保存到1个csv中?

时间:2017-11-22 06:26:11

标签: list csv numpy export-to-csv

如何使用numpy将多个列表保存到.csv文件中,其中每个列表代表一列。

例如:

A=['A','B','C']
B=['1','2','3']

csv输出文件应如下所示

A,1
B,2
C,3

尝试了这个,但它只需要1个参数,怎么做?

numpy.savetxt('output.csv', A,B , delimiter=',', fmt='%s')

1 个答案:

答案 0 :(得分:1)

你真的不需要numpy。使用csv Python module很容易。

例如,

In [13]: A
Out[13]: ['A', 'B', 'C']

In [14]: B
Out[14]: ['1', '2', '3']

In [15]: import csv

In [16]: with open('AB.csv', 'w') as f:
    ...:     writer = csv.writer(f)
    ...:     writer.writerows(zip(A, B))
    ...: 

In [17]: !cat AB.csv
A,1
B,2
C,3

或者只是普通的Python,没有csv模块:

In [26]: with open('AB.csv', 'w') as f:
    ...:     f.write(''.join('{},{}\n'.format(a, b) for a, b in zip(A, B)))
    ...:     

In [27]: !cat AB.csv
A,1
B,2
C,3

但如果你真的想使用numpy.savetxt

In [28]: import numpy as np

In [29]: np.savetxt('AB.csv', list(zip(A, B)), fmt='%s', delimiter=',')

In [30]: !cat AB.csv
A,1
B,2
C,3

所有这些建议都使用zip(A, B)AB创建一系列配对元组:

In [34]: list(zip(A, B))
Out[34]: [('A', '1'), ('B', '2'), ('C', '3')]