无法解析gzip文件中的所有XML项

时间:2019-05-04 12:00:48

标签: python-3.x xml-parsing elementtree

我正在尝试使用字典的非常大的gzip文件。在线here上发布了每个条目的XML外观示例。

我的最终目标是将该文件中的数据转换为可以导入到sqlite数据库中的格式,如下所示:

Word(keb)          Pronunciation(reb)  Usage(re_pri)      Definition(sense/pos + sense/gloss)

収集;蒐集;拾集収輯    しゅうしゅう        ichi1;news1;nf05  &n;&vs;gathering up;collection;accumulation

但是,我一直坚持以下几点:

  1. 并非所有的entry标签都具有相同数量的单词(keb标签),而且我不知道如何使用XML来处理。
  2. 有些项目是None,我不确定如何在XML中解决它。我认为没有很多if / except块是处理它的正确方法。
  3. 从概念上讲,这不是引起我麻烦的“深入标签”。我是新手,知道如何在一个元素始终存在的情况下提取它,但是却处理了None,同一标签有多个条目等。这就是我不知道如何处理的原因,我在{ {3}}

通常,当我站稳脚跟时,我可以很好地弄清楚其余部分,但是我对此感到困惑。

我的代码如下:

with gzip.open('JMdict_e.gz', 'rb') as f:
    f = f.read()
    f = f.decode('utf-8')
    stuff = ET.fromstring(f)
    lst = stuff.findall('entry') # the main tag separating each entry to loop through
    for item in lst:
        word        = item[1][0].text #k_ele -> keb
        pronounciation  = item[2][0].text #reb
        definition  = item[3][0]#.find('pos').text

谢谢您的帮助!

0 个答案:

没有答案