找回密码
 注册
Simdroid-非首页
查看: 2415|回复: 29

[二次开发] 在abaqus中使用python连接excel

[复制链接]
发表于 2011-4-9 23:02:38 | 显示全部楼层 |阅读模式 来自 江苏
本帖最后由 JingheSu 于 2011-4-9 23:04 编辑

用到两个包xlrd和xlrt(见附件,点击安装,注意你的机子上要事先就装好python),具体这两个包怎么用网
上讲解很多,下面给一个读取model.xls(附件python_excel压缩包中)summary中的数据的小程序test.py
  1. import xlrd
  2. data = xlrd.open_workbook('D:\\abaqus\\model.xls')
  3. sh=data.sheet_by_name('summary')
  4. print sh.cell_value(1,1)
  5. print sh.cell_value(1,2)
  6. print sh.cell_value(2,1)
复制代码
运行前更改上面的目录'D:\\abaqus\\model.xls'为你本机model.xls的目录。
可以看到输出:
10.0
60.0
100.0
>>> 这说明你的python和xlrd都安装没有问题的。
从上面的小程序可以看出必须将xlrd import到程序中才能使用,就像我们在abaqus python脚本中常见的一样
  1. from abaqus import *
  2. from abaqusConstants import *
  3. from caeModules import *
复制代码
但是如果偶们在abaqus中写python脚本建模时要用到excel中的模型相关数据,必然也会想到import这两个包
但是这时候就会发现,系统找不到这两个包。。。

原因在于abaqus解释编译python脚本时候用的是自己的带的python,而不是我们装的那个。所以就需要我们
把那两个包安装的文件手动导入到abaqus自带的python目录下。下面以xlrd(读取excel的包)为例来讲讲怎
么实现在abaqus中使用python连接excel。(那个xlrt是用python写入数据到excel文件里面用的)
首先,找到你xlrd安装的目录,比如我的就在C:\Python27下面。你应该可以发现一个叫做xlrd-wininst.log的安
装日志文件,打开内容差不多如下:
*** Installation started 2011/04/09 21:17 ***
Source: D:\Backup\我的文档\下载\xlrd-0.7.1.win32.exe
999 Root Key: HKEY_LOCAL_MACHINE
020 Reg DB Key: [Software\Microsoft\Windows\CurrentVersion\Uninstall]xlrd-py2.7
040 Reg DB Value: [Software\Microsoft\Windows\CurrentVersion\Uninstall\xlrd-py2.7]DisplayName=Python 2.7 xlrd-0.7.1
040 Reg DB Value: [Software\Microsoft\Windows\CurrentVersion\Uninstall\xlrd-py2.7]UninstallString="C:\Python27\Removexlrd.exe" -u "C:\Python27\xlrd-wininst.log"
200 File Copy: C:\Python27\Lib\site-packages\xlrd-0.7.1-py2.5.egg-info
100 Made Dir: C:\Python27\Lib\site-packages\xlrd
200 File Copy: C:\Python27\Lib\site-packages\xlrd\biffh.py
200 File Copy: C:\Python27\Lib\site-packages\xlrd\compdoc.py
200 File Copy: C:\Python27\Lib\site-packages\xlrd\formatting.py
200 File Copy: C:\Python27\Lib\site-packages\xlrd\formula.py
。。。。。
xlrd的安装过程不过就是把一些文件解压到特定的目下而已,因此如果我们将这些文件拷到abaqus自带的
python的安装目录(我机子上为C:\SIMULIA\Abaqus\6.9-1\Python)下应该也可以实现读excel的功能。
进行拷贝:
C:\Python27\Lib\site-packages到C:\SIMULIA\Abaqus\6.9-1\Python\Lib
C:\Python27\Scripts到C:\SIMULIA\Abaqus\6.9-1\Python
然后重启abaqus cae,run script(附件中的python_excel),可以看到我们可以成功利用excel中的数据10.0,
60.0,100.0定义一个part(截面10X60,拉伸100)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

2

查看全部评分

 楼主| 发表于 2011-4-10 12:06:15 | 显示全部楼层 来自 江苏
Simdroid开发平台
解压package到C:\SIMULIA\Abaqus\6.9-1\Python\Lib
解压Scripts到C:\SIMULIA\Abaqus\6.9-1\Python

不用额外安装python直接把附件中的文件解压到相应的位置就可以使用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2011-6-1 22:57:22 | 显示全部楼层 来自 安徽芜湖
请问版主,import xlrd来处理excel对于64位的ABAQUS同样适用吗?我用import win32com *来处理excel,但对于安装了64位的ABAQUS就执行不了
回复 不支持

使用道具 举报

 楼主| 发表于 2011-6-2 08:34:14 | 显示全部楼层 来自 上海
3# ujs505
这个没试过,现在手头也没有64bit的windows。你可以试试过程也不复杂
回复 不支持

使用道具 举报

 楼主| 发表于 2011-6-2 08:42:35 | 显示全部楼层 来自 上海
3# ujs505
刚才在网上查了一下,这两个包都是纯python写的,64位下应该可以运行。你试试吧

http://groups.google.com/group/python-excel/browse_thread/thread/8e6e77e8ab7bbfdd

xlrd and xlwt are pure-Python packages (no C-extensions included) so they
can be installed from the .zip file just about anywhere.
1. Set up a directory called C:\installers (or some other name of your
choice).
2. Download xlrd-0.7.1.zip from PyPI into that directory.
3. Unzip it so that you get C:\installers\xlrd-0.7.1\etc etc
4. Start up a Command Prompt window, and then do:
    prompt> cd C:\installers\xlrd-0.7.1
    prompt> c:\Python27\python setup.py install
回复 不支持

使用道具 举报

发表于 2011-6-3 20:09:18 | 显示全部楼层 来自 安徽芜湖
5# JingheSu
我试过了  64位果然可以  谢谢了!
回复 不支持

使用道具 举报

 楼主| 发表于 2011-6-3 20:20:35 | 显示全部楼层 来自 江苏镇江
6# ujs505
回复 不支持

使用道具 举报

发表于 2012-7-27 13:44:04 | 显示全部楼层 来自 山东青岛
本帖最后由 zcs220 于 2012-7-27 13:45 编辑


JingheSu 发表于 2011-6-3 20:20

6# ujs505


我再上传个pdf使用手册,官网下的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2012-11-30 13:40:30 | 显示全部楼层 来自 上海
帮主按您方法好像在Abaqus6.12上无法安装
回复 不支持

使用道具 举报

发表于 2012-12-4 20:29:24 | 显示全部楼层 来自 陕西西安
ImportError: No module named abaqus  为什么我运行脚本都会出现所定义的模块不存在? O(∩_∩)O谢谢

点评

只能在abaqus下提交,普通的python环境不行  发表于 2013-1-7 09:21
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-7 09:20:54 | 显示全部楼层 来自 江苏苏州
laohi512 发表于 2012-11-30 13:40
帮主按您方法好像在Abaqus6.12上无法安装

什么错误?
回复 不支持

使用道具 举报

发表于 2013-1-7 17:02:35 | 显示全部楼层 来自 上海
JingheSu 发表于 2013-1-7 09:20
什么错误?

将相关文件复制进去后在abaqus里面调不出这些模块

点评

手头没有6.12,不知道具体情况  发表于 2013-1-7 21:47
回复 不支持

使用道具 举报

发表于 2013-3-25 18:00:43 | 显示全部楼层 来自 北京
把第11行的三个点...注销掉试试看
回复 不支持

使用道具 举报

发表于 2013-7-2 22:37:18 | 显示全部楼层 来自 湖南长沙
不错 好方法,这样可以。
回复 不支持

使用道具 举报

发表于 2013-10-29 15:20:59 | 显示全部楼层 来自 甘肃兰州
wk860331 发表于 2012-12-4 20:29
ImportError: No module named abaqus  为什么我运行脚本都会出现所定义的模块不存在? O(∩_∩)O谢谢 ...

打开Aaqus-CAE,在File中点击Run Script,就可以了。这些脚本都是要在Abaqus的环境下运行才可以的。否则就会出现你所示的错误!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2014-3-7 00:15:15 | 显示全部楼层 来自 广东深圳
谢谢楼主的分享~祝安~
回复 不支持

使用道具 举报

发表于 2014-3-16 02:51:06 | 显示全部楼层 来自 印度
thanks a lot
回复 不支持

使用道具 举报

发表于 2014-7-3 10:39:03 | 显示全部楼层 来自 上海
很好的资料,学习一下
回复 不支持

使用道具 举报

发表于 2014-9-12 10:42:26 | 显示全部楼层 来自 北京
JingheSu 发表于 2011-4-10 12:06
解压package到C:\SIMULIA\Abaqus\6.9-1\Python\Lib
解压Scripts到C:\SIMULIA\Abaqus\6.9-1\Python

大版主啊,我装的是6.12,试了好多次了还是报错:no module named xlrd
回复 不支持

使用道具 举报

发表于 2014-9-18 17:19:22 | 显示全部楼层 来自 天津
我的也是6.12版本,也是报同样的错误,版主能帮忙解决吗,不胜感激
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-19 11:19 , Processed in 0.055817 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表