bla*_*bug 4 python arrays excel numpy
我试图使用savetxt方法将numpy数组转储到excel文件中,但我在控制台上遇到这个奇怪的错误:
.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e')
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)
这是我要转储的numpy数组的细节:
[[[ 0.47185326 0.07954808 0.02773202 ..., 0.05631305 0.08299649
0.03780528]
[ 0.62651747 0.06029205 0.01570348 ..., 0.03766847 0.06287122
0.02287979]
[ 0.72675145 0.04626036 0.0107195 ..., 0.02535284 0.04664176
0.01519825]
...,
[ 0.10476404 0.57678992 0.04675674 ..., 0.02255989 0.06741234
0.0170289 ]
[ 0.13148287 0.47490281 0.06038339 ..., 0.03263607 0.07844847
0.02505469]
[ 0.14134221 0.35699606 0.07600202 ..., 0.04766588 0.09139989
0.0386818 ]]]
Type of first_layer_output : <class 'numpy.ndarray'>
Shape of first_layer_output : (1, 921600, 10)
Run Code Online (Sandbox Code Playgroud)
我这样使用savetxt:
np.savetxt('test.csv', first_layer_output, delimiter=',')
Run Code Online (Sandbox Code Playgroud)
我不确定这里有什么问题,因此任何帮助将不胜感激:)
epa*_*aro 10
你可以使用熊猫,它真的很容易使用.
import pandas as pd
## convert your array into a dataframe
df = pd.DataFrame (array)
## save to xlsx file
filepath = 'my_excel_file.xlsx'
df.to_excel(filepath, index=False)
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
有点晚了,但可能会帮助其他面临此类问题的人。
这个错误是因为你似乎已经设置了
dtype = np.ndarray
创建/定义 Numpy 矩阵 first_layer_output 时。
解决此问题的一种方法是修改存储的命令
np.savetxt('test.csv', first_layer_output, delimiter=',', fmt='%s')
Run Code Online (Sandbox Code Playgroud)
该命令现在将数组的内容输出为字符串,而不管使用的实际数据类型。希望这可以帮助。