【发布时间】:2021-11-26 00:19:54
【问题描述】:
我对python很陌生,我想写以下内容(类似于matlab中的fprintf)我不知道为什么这个字符串不起作用???
这里是代码
import numpy as np
coord=np.linspace(0,10,5)
keyy=("LE")
key=np.repeat(keyy,5)
out_arr=np.array_str(key)
zip=np.array([coord,out_arr])
zzip=zip.T
print(zzip)
savefile=np.savetxt("nam.dat",zzip,fmt="%f %s")
【问题讨论】:
-
你得到了什么?你想得到什么?我们需要更多细节。
-
我收到以下错误:VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences(这是一个列表或元组的列表或元组或具有不同长度或形状的 ndarray)已被弃用。如果您打算这样做,则必须在创建 ndarray 时指定“dtype=object”。
-
zip=np.array([coord,out_arr]) [array([ 0. , 2.5, 5. , 7.5, 10. ]) "['LE' 'LE' 'LE' ' LE' 'LE']"] Traceback(最近一次调用最后):文件“C:\MAC_folder\python\two.py”,第 9 行,在
savefile=np.savetxt("nam.dat",zzip ,fmt="%f %s") 文件“<__array_function__ internals>”,第 5 行,在 savetxt 文件“C:\Users\moham\AppData\Roaming\Python\Python39\site-packages\numpy\lib\npyio. py",第 1415 行,在 savetxt 中引发错误 ValueError: fmt has wrong number of % formats: %f %s -
我想要 5 行 2 列包括以下内容: 0 2.5 5 7.5 10 LE LE LE LE LE 试图按照我想要的方式写下来,但我不能??应该喜欢 zip 数组
标签: python python-3.x write