簡體   English   中英

Python-如果XML元素不在記錄中,則將“ None”追加到數組

[英]Python - Append “None” to Array if XML element is not in Record

我在Python中使用lxml解析XML文件。 該文件包含帶有元素的記錄。 第一個元素總是在那里。 但是,其他元素並不總是在每個記錄中可用。 如果沒有元素,我想在Elementx列表中添加一個“無”條目。 當我這樣做時,每個元素列表都具有相同的大小,並且當前一個列表中不存在新值時,我可以輕松地在for循環中附加這些新值。 當記錄中的元素不可用時,如何在元素列表中附加“無”值?

代碼如下:

Element1_list = []
Element2_list = []
.
.
ElementN_list = []

  def repeat():
    xmlfile = urllib2.urlopen("link.xml").read()
    root = lxml.etree.fromstring(xmlfile)

    # Grabbing the elements from the XML file, list are here not equal in size
    Element1 = root.xpath('//Record/Element1/text()')
    Element2 = root.xpath('//Record/Element2/text()')
    .
    .
    ElementN = root.xpath('//Record/ElementN/text()')

    i = 0
    for element in Element1: 
      if element not in Element1_list: 
        Element1_list.append(Element1[i])
        Element2_list.append(Element2[i])
        .
        .
        ElementN_list.append(ElementN[i])
    i = i + 1
  repeat()

repeat()

提前致謝。

您可以嘗試使用其他方式。

lst = []
ele1,ele2 = None,'Something'
lst.append( ele1 if ele1 else None )
lst.append( ele2 if ele2 else None )
print lst 
[None, 'Something']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM