擅长:python、mysql、java
<p>处理的“pythonic”方法是使用<code>try</code>/<code>except</code>,如下所示。这将处理<code>"currentAddress"</code>不存在的情况,以及它不存在但没有<code>city</code>属性的情况。你知道吗</p>
<p>注意,我还删除了<code>for</code>中处理<code>count</code>变量的代码,因为没有必要对第一个变量进行不同的处理。但是有必要,那么处理它的代码也需要做一些类似的事情。你知道吗</p>
<pre><code>import csv
import xml
import xml.etree.ElementTree as ET
xml_filename = 'emplist.xml'
csv_filename = 'emplist.csv'
tree = ET.parse(xml_filename)
root = tree.getroot()
with open(csv_filename, 'w', newline='') as Emp_data:
csvwriter = csv.writer(Emp_data)
emp_head = []
for member in root.findall('emplist'):
emp_nodes = []
empId = member.find('empId').text
emp_nodes.append(empId)
fullName = member.find('fullName').text
emp_nodes.append(fullName)
try:
currentAddress = member.find('currentAddress').attrib.get('city')
except AttributeError:
currentAddress = 'Unknown'
emp_nodes.append(currentAddress)
csvwriter.writerow(emp_nodes)
</code></pre>