#__*__encoding:utf8__*__
import openpyxl
from pyautocad import Autocad,APoint
from pyhub import pyhub
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
wb=openpyxl.load_workbook("a.xlsx")
sheet=wb.get_sheet_by_name("Sheet1")
#数据集合
data=[]
#点集合
pxy=[]
#分割点x坐标
lst_lpx=[]
datatext=[]
acad=Autocad(create_if_not_exists=True)
acad.prompt("hello this is mt")
for t in acad.iter_objects("Text"):
if(t.TextString!="******"):
pxy.append((APoint(t.InsertionPoint).x, APoint(t.InsertionPoint).y))
data.append(t)
elif(t.TextString=="******"):
lst_lpx.append(APoint(t.InsertionPoint).x)
print lst_lpx
zb=pyhub.paixuzb_maopao(pxy)
datazb=[]
datasort=[]
#以坐标点排序文本内容并存入data列表中
for i in range(len(pxy)):
for t in data:
if(APoint(t.InsertionPoint).x==zb[i][0] and APoint(t.InsertionPoint).y==zb[i][1]):
datasort.append(APoint(t.InsertionPoint).x)
datatext.append(t.TextString)
datas=[]
for i in range(len(lst_lpx)):
for j in datasort[:]:
if (j<lst_lpx[i]):
datas.append(datatext.pop(datasort.index(j)))
datasort.remove(j)
#datas.reverse()
for d in range(len(datas)):
if(str(datas[d])[0:3]=="tex" or str(datas[d])[0:3]=="###"):
sheet["A"+str(d+1)]=datas[d]
wb.save("aabb.xlsx")
print "success"
在实践中遇到了列表删除数据中的困难。参考文章
http://www.zuimoban.com/jiaocheng/python/6727.html