xpathでデータが未定義の箇所がある場合、どのように例外処理をすれば良いか
科研費のデータベース(XML形式)から、必要な要素だけを抽出して一覧表を作ることを考えています。
https://kaken.nii.ac.jp/ja/
lxmlパッケージのetreeを利用し、
tree = etree.parse('ファイル名')
root = tree.getroot()
grantAwardsGakubu = tree.xpath('/grantAwards/grantAward/summary[@xml:lang="ja"]/member[@sequence="1"]/department') # 1stの所属学部
grantAwards = tree.xpath('/grantAwards/grantAward/summary[@xml:lang="ja"]/member[@sequence="1"]/personalName[@sequence="1"]/fullName') # 1st(和文)の名前
として要素の抽出を行ったのですが、所属学部が未定義になっているデータが1件あるようで、名前と並びがズレてしまいます。所属学部が未定義になっているものはnullを入れるなりして、空行にしたいのですが、何か良い手はないものでしょうか。
データは、例えば下記のリンクを開いて、
https://kaken.nii.ac.jp/ja/search/?kw=%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6&o1=1&s1=2018&s2=2018&fc=ca%3A%E5%9F%BA%E7%9B%A4%E7%A0%94%E7%A9%B6(S)%2F000060
画面上の方にある[XMLで出力]の隣の実行ボタンを押すとダウンロードできます。
よろしくお願いいたします。