如何使用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')
答案 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)
从A
和B
创建一系列配对元组:
In [34]: list(zip(A, B))
Out[34]: [('A', '1'), ('B', '2'), ('C', '3')]