使用 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 节点套牌 的相关文章

  • QSortFilterProxyModel + QAbstractItemModel modelIndex.internalPointer() 导致崩溃

    我在 PyQt 4 8 Python 2 7 中实现了自己的 QAbstractItemModel class FriendListModel QtCore QAbstractItemModel def init self groups c
  • 如何测试顶级窗口是否打开?

    我感觉 Python 编程可能不是我的菜 我创建了一个 tkinter GUI 它使用按钮回调来打开另一个窗口 其他搜索说这个窗口应该是顶级窗口 并且它工作得很好 但是每次按下按钮时它都会打开另一个相同的窗口 如据我所知 窗口 问题 如何测
  • 更改 Inkscape 的 Python 解释器

    在使用 Inkscape 时 我不断收到错误 这似乎意味着未满足 python 2 vs 3 的期望 尽管我已经安装了它们 例如 当我尝试从模板生成新文档时 我得到 Traceback most recent call last File
  • OpenCV Python 删除图像中的某些对象

    我正在使用带有 opencv 和 numpy 的 python 来检测天文中的星星 例如这个1 https i stack imgur com AKwEJ jpg图片 使用模板匹配 我可以用阈值检测星星 单击 2 2 https i sta
  • 使用 K 均值聚类 OpenCV 进行交通标志分割

    I used K Means Clustering to perform segmentation on this traffic sign as shown below 这些是我的代码 读取图像并模糊 img cv imread 000
  • 用于打印 C/C++ 文件的所有函数定义的 Python 脚本

    我想要一个 python 脚本来打印 C C 文件中定义的所有函数的列表 e g abc c定义两个函数为 void func1 int func2 int i printf d i return 1 我只想搜索文件 abc c 并打印其中
  • 代理阻止网络套接字?如何绕行

    我有一个用 Python 编写的正在运行的 websocket 服务器 来自https github com opiate SimpleWebSocketServer https github com opiate SimpleWebSoc
  • Python NLP 英式英语与美式英语

    我目前正在用Python 进行NLP 工作 然而 在我的语料库中 既有英式英语也有美式英语 实现 实现 我正在考虑将英式英语转换为美式英语 但是 我没有找到一个好的工具 包来做到这一点 有什么建议么 我也找不到包 但试试这个 请注意 我必须
  • 打印一个 Jupyter 单元中定义的所有变量

    有没有一种更简单的方法来以漂亮的方式显示单个单元格中定义的所有变量的名称和值 我现在做的方式是这样的 但是当有30个或更多变量时我浪费了很多时间 您可以使用whos http ipython readthedocs io en stable
  • 出现意外的关键字参数“timeout”(Python 中的 google-cloud-storage)

    使用 google cloud storage 的 Python 项目在本地运行良好 但是当它从 App Engine 运行时 会显示错误 Traceback most recent call last File opt python3 7
  • 如何在Python中正确声明ctype结构+联合?

    我正在制作一个二进制数据解析器 虽然我可以依靠 C 但我想看看是否可以使用 Python 来完成该任务 我对如何实现这一点有一些了解 我当前的实现如下所示 from ctypes import class sHeader Structure
  • 如何创建指向指针数组的 Python ctypes 指针

    我需要学习如何处理char 在下面的 C 方法中通过 Python ctypes 我通过使用调用其他只需要单个指针的方法做得很好create string buffer 但此方法需要一个指向指针数组的指针 ladybugConvertToM
  • 将带有两层分隔符的字符串转换为字典 - python

    给定一个字符串 s x t1 ny t2 nz t3 我想转换成字典 sdic x 1 y 2 z 3 我通过这样做让它工作 sdic dict tuple j split t for j in i for i in s split n F
  • 散景中的时间序列流

    我想在散景中绘制实时时间序列 我只想在每次更新时绘制新的数据点 我怎样才能做到这一点 散景网站上有一个动画情节的示例 但它每次都需要重新绘制整个图片 另外 我正在寻找一个简单的示例 我可以在其中逐点绘制时间序列的实时绘图 散景效果0 11
  • 如何在 Spyder IDE 中安装 Selenium 包

    我刚刚在工作中安装了 Spyder IDE 仅 Spyder 不是整个 Anaconda 并且希望使用 FireFox 自动化我的工作 我的问题是 如何安装 Selenium 软件包 I figured it out Here is ins
  • Scrapy - 不会爬行

    我正在尝试运行递归爬行 由于我编写的爬行不能正常工作 因此我从网络上提取了一个示例并进行了尝试 我真的不知道问题出在哪里 但是爬行没有显示任何错误 谁能帮我这个 另外 是否有任何逐步调试工具可以帮助理解蜘蛛的爬行流程 非常感谢任何与此相关的
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • 如何在包更新之间保留数据文件?

    我正在使用data files的论证setuptools setup 将配置文件安装到 etc和用户主目录 但是更新包pip install
  • 通过子类化 `io.TextIOWrapper` 来子类化文件 - 但它的构造函数有什么签名?

    我正在尝试子类化io TextIOWrapper下列的这个帖子 https stackoverflow com a 23796737 974555 虽然我的目标不同 以此开始 注意 动机 https stackoverflow com a
  • 获取长度为 n 的所有(n-选择-k)组合

    我怎样才能获得长度的所有组合 按顺序 n从数字列表中 例如 给定列表 1 2 3 4 并设置n 3 我怎样才能得到这些结果 1 2 3 1 2 4 1 3 4 2 3 4 For combinations of all possible l

随机推荐

  • 如何使用 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