繁体   English   中英

如何将numpy数组数组转换为csv

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM