Python 将numpy数组保存为CSV而不使用科学符号
我能够计算A的平均值、最小值和最大值:Python 将numpy数组保存为CSV而不使用科学符号,python,csv,numpy,Python,Csv,Numpy,我能够计算A的平均值、最小值和最大值: import numpy as np A = ['33.33', '33.33', '33.33', '33.37'] NA = np.asarray(A) NA = NA.astype(float) AVG = np.mean(NA, axis=0) MN = np.min(NA, axis=0) MX = np.max(NA, axis=0) print AVG, MN, MX 使用python将这些结果保存到csv文档的最简单
import numpy as np
A = ['33.33', '33.33', '33.33', '33.37']
NA = np.asarray(A)
NA = NA.astype(float)
AVG = np.mean(NA, axis=0)
MN = np.min(NA, axis=0)
MX = np.max(NA, axis=0)
print AVG, MN, MX
使用python将这些结果保存到csv文档的最简单方法是什么?我没有,所以需要创建一个
如果我使用这个:
np.savetxt('datasave.csv', (AVG,MN,MX), delimiter=',')
它将在csv中显示为科学符号。我怎么才能不得到它,而是浮动呢?一个CSV或逗号分隔的值文件就是一个用逗号分隔信息的文件 例如: 这些信息最终会像
名称
年龄
性别
路易斯
45
M
安娜
30
F
布瑞恩
28
M
您可以使用CSV模块
import csv
f = open('New file.csv',"wb")
writer = csv.writer(f)
for row in [AVG, MN, MX]:
writer.writerow(row)
f.close()
默认写入:
In [154]: np.savetxt('test.txt',(AVG, MN, MX), delimiter=',')
In [155]: cat test.txt
3.333999999999999631e+01
3.332999999999999829e+01
3.336999999999999744e+01
使用自定义的fmt
写入:
In [156]: np.savetxt('test.txt',(AVG, MN, MX), delimiter=',', fmt='%f')
In [157]: cat test.txt
33.340000
33.330000
33.370000
或者,如果要在一行上显示值,请将其设置为二维数组(或具有额外[]的等效数组),以便每行写入一行:
In [160]: np.savetxt('test.txt',[[AVG, MN, MX]], delimiter=',', fmt='%f')
In [161]: cat test.txt
33.340000,33.330000,33.370000
您还可以尝试使用其他参数。使用csv模块,尤其是csv.writer。您是否尝试过使用
savetxt
的fmr
参数?HTML真的必要吗?问题是如何不获取科学符号这个答案对这个问题没有任何价值。它只显示HTML表格是如何转换成CSV的,但没有人要求它。谢谢你,但出于某种原因,当使用这种方法时,文件被创建了,但里面什么都没有。有什么想法吗?
In [160]: np.savetxt('test.txt',[[AVG, MN, MX]], delimiter=',', fmt='%f')
In [161]: cat test.txt
33.340000,33.330000,33.370000