【发布时间】:2021-01-05 18:03:26
【问题描述】:
我正在尝试将制造执行系统 (MES) SQL 数据库中的工单重建为 .pdf 格式,以便可以批量打印它们——而不是一次打印一个(一次一个是唯一的方法) MES 允许)。
当涉及到包含链接等的工作说明时,我被卡住了(伪html......不知道还能叫什么)。我对所需数据运行 SQL 查询并将其放入 Pandas 数据框中。以下是数据框中“文本”列(工作说明)的示例:
"DWG/TECH DATA: ALL TASK WITHIN THIS WORK ORDER ARE TO BE ACCOMPLISHED IAW:
<#Tab><UT=""LinkInvoke(Slide(OBJECT_ID=OBJECTID,@GlyphName=@InlineText,@Classification=General,@RenderDescText=True,'@Desc=| Description: PANEL, |',@Caption=DWG 123456-123 ,REF_ID=REFID))""><#Tab>
MOA DWG:
<#Tab><UT=""LinkInvoke(Slide(OBJECT_ID=OBJECT ID,@GlyphName=@InlineText,@Classification=General,@RenderDescText=True,'@Desc=| Description: FACEPLATES |',@Caption=DWG 98765 Plate,REF_ID=REFID))"">
<#Tab><UT=""LinkInvoke(Slide(OBJECT_ID=OBJID,@GlyphName=@InlineText,@Classification=General,@RenderDescText=True,'@Desc=| Description: ARTWORK |',@Caption=DWG 9999-8888 ARTWORK ,REF_ID=REFID))""><#Tab>"
我试图返回的数据应该是这样的:
DWG/技术数据:本工单中的所有任务都必须完成 国际汽车联合会:
DWG 123456-123
MOA DWG:
DWG 98765 板
DWG 9999-8888 艺术品
那里的信息往往会插入大量的复制粘贴;所以发现模式对我的正则表达式技能来说太难了。从本质上讲,我认为如果“”之间的所有内容都被删除,就会发生这种情况——除了如果它在“@Caption=”和“,”之间。
我也尝试用beautifulsoup 提取文本,但标题始终没有出来。
任何建议或帮助将不胜感激。
【问题讨论】:
-
如果您确定问题中的样本结构公平地代表了实际数据,则可以通过字符串操作来做到这一点。
-
表示实际数据(从 Spyder 复制和粘贴)。那么,可以同时基于两个“模式”进行拆分吗?
标签: python html beautifulsoup python-re