使用 numpy 在 Python 中导入 nastran 节点套牌

2024-01-02

如果我想将 Nastran Deck 导入到 Python 数组中,可以使用 numpy 一次性完成。我该怎么办呢?我哪里错了?

我有一个仅包含网格的文件。网格均与 Nastran 的短翻译器等距(8 个字符)

$ MH Nodes
$2345678$2345678$2345678$2345678$2345678$2345678
GRID     25601          58.50002-57.749923.05                      
GRID     25602          58.81002-57.749923.05  

使用 Numpy 中的 dtype 命令,如果我理解正确的话,那就太好了。这是我的代码:

fileMH = "Gnodes.bdf"

dtyp = np.dtype([
                ("Grid",(np.void,8)),
                ("GN",(np.int,8)),
                ("Prop",(np.void,8)),
                ("X",(np.float,8)),
                ("Y",(np.float,8)),
                ("Z",(np.float,8)),
])

f = np.loadtxt(fileMH,dtyp,comments="$")

我得到的错误是浮点错误,但是我期望 dtype 一次从字符串中提取 8 个字符。这是错误:

ValueError: invalid literal for float(): 58.50002-57.749923.05

感谢帮助。

附:能否制作一个 nastran 标签,大量数据处理是在 nastran 中完成的,这需要智能编程。这会有帮助的。


The dtype指定二进制数据在内存中的布局。它不定义文件中文本的格式。

您的数据文件具有固定宽度的字段。即每个字段使用八个字符,并且没有特殊的分隔符来分隔字段。您可以使用读取这样的文件numpy.genfromtxt http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html,通过指定字段宽度delimiter争论。

这是 ipython 会话中的一个示例。首先,这是您的示例文件。 (我编辑了文件以确保最后一个后面有三个空格05在第二行和第三行,但这不是必需的。)

In [15]: !cat nastran_data.txt
$ MH Nodes
$2345678$2345678$2345678$2345678$2345678$2345678
GRID     25601          58.50002-57.749923.05   
GRID     25602          58.81002-57.749923.05   

这是要创建的数组的数据类型genfromtxt。请注意,GN字段有类型np.int64,以及X, Y and Z字段有类型np.float64.

In [16]: dt = np.dtype([('Grid', 'S8'), ('GN', np.int64), ('Prop', 'S8'), ('X', np.float64), ('Y', np.float64), ('Z', np.float64)])

使用读取文件genfromtxt,有六个固定宽度字段,每个长度为 8:

In [18]: a = np.genfromtxt('nastran_data.txt', dtype=dt, delimiter=(8, 8, 8, 8, 8, 8), skip_header=2)

In [19]: a
Out[19]: 
array([('GRID    ', 25601, '        ', 58.50002, -57.7499, 23.05),
       ('GRID    ', 25602, '        ', 58.81002, -57.7499, 23.05)], 
      dtype=[('Grid', 'S8'), ('GN', '<i8'), ('Prop', 'S8'), ('X', '<f8'), ('Y', '<f8'), ('Z', '<f8')])

In [20]: a['GN']
Out[20]: array([25601, 25602])

In [21]: a['X']
Out[21]: array([ 58.50002,  58.81002])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 numpy 在 Python 中导入 nastran 节点套牌 的相关文章

随机推荐

  • 如何使用 C# 验证字符串不包含 HTML

    有没有人有一种简单 有效的方法来检查字符串不包含 HTML 基本上 我想检查某些字段是否只包含纯文本 我考虑过寻找 XElement Parse
  • SQL Server“。”别名不起作用

    我添加了一个别名 它应该指向我的本地 命名 实例 SQL2008 但是当我尝试连接到 时 它超时了 我错过了什么还是这是不允许的 我尝试过的别名不起作用 设置为 32 位和 64 位 我也尝试将端口留空 如果您要创建 TCP IP 别名 则
  • 如何将 SSL 证书添加到 Dash 应用程序 [重复]

    这个问题在这里已经有答案了 如何使用 Python 为在 Web 服务器上运行的 DASH 应用程序启用 HTTPS 我已经有 SSL 证书 key 和 crt 如果 dash 是处理路由的 Web 服务器 而不是 Apache 或 Ngi
  • PHP 对象数组

    所以我一直在寻找一段时间 但找不到一个简单问题的答案 PHP 中是否可以有一个对象数组 例如 ar array ar Obj1 ar obj2 由于某种原因 我无法在任何地方找到答案 我认为这是可能的 但我只需要确定一下 寻找诸如此类的一般
  • 如何更改facet_wrap中的facet标签

    我正在使用 ggplot 和facet wrap 来获取所需的绘图 我必须向每个方面的标签或变量或每个方面的名称添加一些内容 就像我们直接在 ggplot 下修改 xlab 和 ylab 一样 Example d lt ggplot dia
  • 带有 objectselect 表单的 Doctrine 自定义存储库

    这个问题是一个可能的解决方案ZF2 Doctrine 与 objectSelect 获得多对多关系 https stackoverflow com questions 24017193 zf2 doctrine get manytomany
  • 什么是 switch 表达式以及它们与 switch 语句有何不同?

    作为 Java SE 12 的一部分 switch表达式 https docs oracle com en java javase 13 language switch expressions html被引入 并且自 Java SE 14
  • 如何用 Python 编写一系列 Promise?

    是否可以写出一个序列promise https developer mozilla org en docs Web JavaScript Reference Global Objects Promise 或任务 使用only Python
  • 如何在 Xcode 构建阶段运行 Grunt 任务?

    我正在开发一个 Web 应用程序 其中包括 GruntJS 构建任务 我在 Xcode IDE 中使用 Phonegap Cordova 进行部署 我想将 grunt 构建过程集成到我的 Xcode 项目中以简化项目的运行 理想情况下 Xc
  • Environment.SpecialFolder.ApplicationData 返回错误的文件夹

    我有一个奇怪的问题 我的 NET 4 0 WPF 应用程序正在将数据保存到 ApplicationData 文件夹 Environment GetFolderPath Environment SpecialFolder Applicatio
  • Log4J Swing Appender

    我需要将 log4j 内容附加到 Swing 组件 JTextArea 或类似组件 有一个通用的方法可以做到这一点吗 我最终没有引入外部库 而是编辑 log4j properties 文件以包含以下内容 log4j rootCategory
  • 对 HttpModule 中的事件进行单元测试

    我的应用程序中有一个 CustomHttp 模块 用于删除不需要的响应标头 如下所示 public class RemoveServerHeadersModule IHttpModule public void Init HttpAppli
  • 函数调用超时

    我正在 Python 中调用一个函数 我知道该函数可能会停止并迫使我重新启动脚本 如何调用该函数或者将其包装在什么中 以便如果花费时间超过 5 秒 脚本就会取消该函数并执行其他操作 您可以使用signal http docs python
  • 在Visual Studio中调试Qt,缺少msvcp140d_app.dll

    我是新来的Qt 但一直在与视觉工作室 for C C 发展了几年 现在我正在尝试建立一个GUI对于我的项目 我安装了Qt 5 11 0和Qt我的工作计算机和家庭 PC 上都有 VS Tools 在工作中 我可以使用 VS 调试器构建和运行我
  • 删除重复项及其内在价值[重复]

    这个问题在这里已经有答案了 假设下一个向量 just a random vector lt c A B B C C D 这个想法是 如果某个值有重复项 则删除所有重复值和该值本身 为了得到看起来像这样的东西 A D 有什么办法可以得到上面的
  • D3.js 醉酒工具提示

    D3 js 能够支持醉酒提示吗 如果可能的话 有人可以给我举个例子吗 谢谢 这是一个工作示例 使用 jQuery Tipsy 的 D3 工具提示 http bl ocks org 1373263
  • 像 @Override 这样的注释在 Java 内部是如何工作的?

    谁能向我解释一下 java 内部注释是如何工作的 我知道如何使用 java 中的 java lang annotation 库创建自定义注释 但我仍然不明白它的内部工作原理 例如 Override 注释 如果有人能详细解释这一点 我将非常感
  • 将图像源设置为 URI

    如果我有一个在线图像的链接 并且我想将图像源设置为此 uri 我应该如何做最好 我正在尝试的代码如下所示
  • 一段时间后更改文档中的变量值?

    我对网络开发很陌生 我想学习新东西 我有一个猫鼬模式 我不会发布它 因为它是用我自己的语言写的 你不会理解 所以我会解释 所以我有诸如名称 代码 创建条目的用户等信息 与我的问题无关 我有一个变量 比如说日期 如下所示 type Date
  • 使用 numpy 在 Python 中导入 nastran 节点套牌

    如果我想将 Nastran Deck 导入到 Python 数组中 可以使用 numpy 一次性完成 我该怎么办呢 我哪里错了 我有一个仅包含网格的文件 网格均与 Nastran 的短翻译器等距 8 个字符 MH Nodes 2345678