[英]How to convert array of numpy arrays to csv
如何将一组 NumPy 数组转换为 CSV 文件。 我已经提到了下面的代码:
array_of_nparray = [[[1,2,3,4]],[[5,6,7,8]],[[9,10,11,12]]]
header = ["a","b","c","d"]
到 csv 格式:
a | b | c | d|
1 | 2 | 3 | 4|
5 | 6 | 7 | 8|
9 | 10 | 11 | 12|
我试着用
with open("abc.csv","w") as f:
m = csv.writer(f)
m.writer(header)
m.writerow(array_of_nparray)
But was unsuccessful because it printed all the NumPy arrays in the first column
Can anyone please help
您可以使用pandas
:
import pandas as pd
array_of_nparray = [[[1,2,3,4]],[[5,6,7,8]],[[9,10,11,12]]]
header = ["a","b","c","d"]
df = pd.DataFrame(np.array(array_of_nparray).reshape((3,4)), columns=header)
df.to_csv("file_name.csv", index=False)
通过将数组转换为 Pandas Dataframe,然后将其保存为 CSV 格式。
import pandas as pd
array_of_nparray = [[[1,2,3,4]],[[5,6,7,8]],[[9,10,11,12]]]
header = ["a","b","c","d"]
df = pd.DataFrame(np.array(array_of_nparray).reshape((3,4)), columns=header)
df.to_csv("data.csv", index=False)
使用numpy.savetext示例,我得到了以下解决方案:
import numpy as np
array_of_nparray = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
header = ' a, b, c, d'
np.savetxt('2darray.csv', array_of_nparray, delimiter=',', header=header ,fmt='%d', comments='')
您也可以使用简单的字符串格式:
array_of_nparray = [[[1,2,3,4]],[[5,6,7,8]],[[9,10,11,12]]]
header = ["a","b","c","d"]
with open("abc.csv","w") as f:
f.write('#'+','.join(header)+'\n')
for line in array_of_nparray:
f.write(','.join([str(i) for i in line[0]])+'\n')
然而,这必须适应不同的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.