python - 如何用 numpy 数组替换文件的一部分
问题描述
我有一个 .msh 文件,可以由文本阅读器打开和修改。我想在 python 中打开它,然后用一个 numpy 数组替换一些特定的行并将它的保存为一个新的 .msh 文件。我的 numpy 数组有 9 列和数百行。我的文件也有数百行。我想用我的 numpy 数组替换文件中包含 9 列的行。当然,我的 numpy 数组中的行数与我的文件中有 9 列的行数相同。为简单起见,我在这里只展示了两行,但实际上我有数百行。numpy 数组是:
arr_1= np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9],
[-1, 0, 0, 1, 46, 2, -11, 0, 0]])
我的文件(my_file)如下:
$MeshFormat
2.2 0 8
$EndMeshFormat
$Nodes
2929
1 26.66002035140991 0.75 1.25
-1 5 14 13.2 7.4444 11 9 -3 0.15
0.2 9 54.45 1 63 22.45 0 12 425.65
然后,我想获得一个新名称的新保存文件:
$MeshFormat
2.2 0 8
$EndMeshFormat
$Nodes
2929
1 26.66002035140991 0.75 1.25
1 2 3 4 5 6 7 8 9
-1 0 0 1 46 2 -11 0 0
我只能执行以下操作,但它不起作用:
with open('my_file') as f:
new_data= line.split() for line in f if len(line.split()) == 9
for i in new_data:
for j in arr_1:
i = j
我试过了,但根本不成功。所以,我感谢任何提示和帮助。干杯,阿里
解决方案
尝试以下操作:
with open('my_file') as f:
for line in f:
new_data = line.split()
if len(new_data)==9:
for i in new_data:
for j in arr_1:
i = j
推荐阅读
- bash - 如何从某个日期之前的 .tar 存档中删除文件
- terraform - 对于仅在应用后确定的资源的 terraform 计数是否有解决方法?
- java - Redis 集群与 Spring Boot 集成 - 错误此实例已禁用集群支持
- html - Chrome:尝试在添加的节点中删除 contenteditable 中的空范围
- php - Laravel 8 - 用户表中的两个外键
- python - 标签行尾断字 Pyqt5
- reactjs - 没有真正得到 useReducer 钩子
- javascript - React 和 Node.js 中的 POST 问题
- html - 如何只允许在 html 中检查 1 个单选按钮而不给它们相同的名称?
- javascript - 如何通过在博客上单击将文本转换为语音