python - 将数值数据写入文本文件:matlab to python
问题描述
在将这些 Matlab 指令转换为 Python 时,我需要一些帮助:
var = [1.222222 2.33333333 3.4444444];
fmt = [repmat(' %1.4e', 1, size(var, 2)), '\n'];
fid = fopen('myfile.txt','w');
fprintf(fid, fmt, var);
fclose(fid);
在文件中写道:
1.2222e+00 2.3333e+00 3.4444e+00
特别是,就 repmat 而言,我知道我应该使用 tile,我不确定如何包含格式。
解决方案
在 Matlab 中,您可以通过这种方式格式化整个数组。在 Python 中,它要简单得多。您可以使用np.savetxt
单一格式保存整个数组:
var = ...
np.savetxt(file, var, fmt='%14e')
File 可以是文件名或文件句柄。因此,例如,如果您想检查输出,只需传入sys.stdout
第一个参数即可。
推荐阅读
- python - 熊猫中缺少值的布尔值的数据类型
- javascript - 测试 Google One Tap - 已关闭,现在收到“用户禁止”消息
- javascript - 将文件(图像或音频)上传到 Firebase 时出现 [object Object] 错误
- gradle - 如何使用命令行在 Gradle 中按类别运行测试?
- java - 如何在嵌套的 Mapstruct 映射器中指定不明确的映射方法中的选择?
- reactjs - setTimeout React 钩子中的 API 调用显示一个陈旧的值
- ios - 如何解码既是 Codable 又是 ObservableObject 的类的 Firestore 文档 ID
- r - 渐变填充ggplot2中时间序列图表上的注释
- c++ - CMake'ifying Boost Jam 项目:check-target-builds
- asp.net-mvc - 将应用程序启动到 Azure 后,不会发送确认电子邮件。有谁知道为什么?