如何将numpy ndarray保存为.csv文件? [英] How to save numpy ndarray as .csv file?
本文介绍了如何将numpy ndarray保存为.csv文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了一个 numpy
数组,如下所示:
I created a numpy
array as follows:
import numpy as np
names = np.array(['NAME_1', 'NAME_2', 'NAME_3'])
floats = np.array([ 0.1234 , 0.5678 , 0.9123 ])
ab = np.zeros(names.size, dtype=[('var1', 'U6'), ('var2', float)])
ab['var1'] = names
ab['var2'] = floats
ab
中的值如下所示:
array([(u'NAME_1', 0.1234), (u'NAME_2', 0.5678), (u'NAME_3', 0.9123)],
dtype=[('var1', '<U6'), ('var2', '<f8')])
当我尝试使用 savetxt()
命令将 ab
保存为.csv文件时,
When I try to save ab
as a .csv file using savetxt()
command,
np.savetxt('D:\test.csv',ab,delimiter=',')
我遇到错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-66-a71fd201aefe> in <module>()
----> 1 np.savetxt('D:\Azim\JF-Mapping-workflow-CRM\Backup\delete.csv',ab,delimiter=',')
c:\python27\lib\site-packages\numpy\lib\npyio.pyc in savetxt(fname, X, fmt, delimiter, newline, header, footer, comments)
1256 raise TypeError("Mismatch between array dtype ('%s') and "
1257 "format specifier ('%s')"
-> 1258 % (str(X.dtype), format))
1259 if len(footer) > 0:
1260 footer = footer.replace('\n', '\n' + comments)
TypeError: Mismatch between array dtype ('[('var1', '<U6'), ('var2', '<f8')]') and format specifier ('%.18e,%.18e')
推荐答案
您的数组包含字符串,但是np默认格式是浮点数.
Your array include strings, but np default formatting is for floats.
尝试手动设置格式:
np.savetxt(r'g:\test.csv',ab,delimiter=',', fmt=('%s, %f'))
这篇关于如何将numpy ndarray保存为.csv文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文