Skip to main content
 首页 » 编程设计

Python解析树状数据

2025年05月04日10bhlsheji

我有一个来自如下字体的字形信息:

(CHARACTER C T 
   (CHARWD R 0.6944475) 
   (CHARHT R 0.686111) 
   (COMMENT 
      (KRN C y R -0.027779) 
      (KRN C e R -0.083334) 
      (KRN C o R -0.083334) 
      (KRN C r R -0.083334) 
      (KRN C a R -0.083334) 
      (KRN C A R -0.083334) 
      (KRN C u R -0.083334) 
      ) 
   ) 

有没有一种直接的方法可以在 python 中解析它?我以前用过 BeautifulSoup,但它需要嵌套 <tag> </tag>像信息。将其转换为 XML 并再次转换回来并不难——但它似乎是在重新发明轮子。我如何将这些信息放入我可以操作并再次吐出的数据对象中?

请您参考如下方法:

你可以使用 pyparsing .你的例子看起来很像 s-expression , 他们的 examples section 中有一个 s-expression 解析器: http://pyparsing.wikispaces.com/file/view/sexpParser.py