[英]Read XY Coordinates from Multiple Excel Sheets Using Abaqus/Python Script
我有一堆CT掃描圖像。 使用Matlab處理(這些堆棧中的一幅圖像)CT掃描圖像后,我將每個不同邊界區域的XY坐標保存在不同的Excel工作表中,如下所示:
I = imread('myCTscan.jpeg');
BW = im2bw(I);
[coords, labeledImg] = bwboundaries(BW, 4, 'holes');
sheet = 1;
for n=1:length(coords);
xlswrite('fig.xlsx',coords{n,1},sheet,'A1');
sheet = sheet+1;
end
然后,下一步是導入這組坐標並將其繪制到Abaqus CAE Sketch中以進行有限元分析。 我發現我的工作流程是這樣的:
我搜索了一會兒,發現是這樣的:
from abaqus import *
lines= open('fig.xlsx', 'r').readlines()
pointList= []
for line in lines:
pointList.append(eval('(%s)' %line.strip()))
s1= mdb.models['Model-1'].ConstrainedSketch(name='mySketch', sheetSize=500.0)
s1.Spline(points= pointList)
但這只能從一張紙上讀取XY坐標,而我在上面的第3步中遇到了麻煩。 因此,我的問題是如何使用Abaqus / Python(Abaqus 6.14,Python 2.7)腳本在不同的工作表中讀取這些坐標?
我是Python編程的新手,我可以閱讀和理解語法,但是寫得不太好(我仍在努力如何在Abaqus中導入Python模塊)。 幾乎不可能手動鍵入每個坐標(例如在Abaqus的modelAExample.py教程中),因為我的每個CT掃描圖像都可以具有100 ++的邊界區域和10k ++的點。
我正在使用:
Windows 7 x64
Abaqus 6.14(內置Python 2.7)
Excel 2013
具有圖像處理工具箱的Matlab 2016a
您正在嘗試將excel文件讀取為逗號分隔的文件。 根據定義,CSV文件不能包含多個標簽。 您的讀取命令會將文件解釋為csv,並且不允許您迭代文件中的選項卡(盡管這樣會產生一個問題,即您在保存xlsx和讀取csv時首先如何正確打開文件)。
有許多Python庫可解析和處理XLS / XLSX文件。
看看pyxl並用它來讀入文件。您可能會使用類似
from openpyxl import Workbook
(some commands to open the workbook)
listofnames=wb.sheetnames
for k in listofnames:
ws=wb.worksheets(k)
然后輸入您剩余的命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.