Я пытаюсь создать xml с lxml.objectify в Python, используя серию CSV с данными и перебирая их как кадры данных Pandas. Дело в том, что у меня есть значения во фреймах данных как «True» или «False», но когда я пытаюсь построить xml и проверить его, они отображаются в виде строк. Это должно быть как true / false, строчные буквы должны оцениваться как bool.
Как мне этого добиться?
Application = data_frames['Application'].astype(object).replace(np.nan, '')
root = objectify.Element('Application')
objectify.deannotate(root, cleanup_namespaces=True)
for row in Application.itertuples():
root.set('ApplicationDate',row.ApplicationDate)
root.set('SWDecision', row.SWDecision)
root.set('DeliveryOptionCode',row.DeliveryOptionCode)
root.set('ProcessingRequestType',row.ProcessingRequestType)
root.set('ResubmissionFlag',row.ResubmissionFlag)
root.set('ApplicationCrossReferenceId',str(row.ApplicationCrossReferenceId))
Если я отлаживаю подобный код, я получаю сообщение об ошибке типа
root.set('SWDecision', row.SWDecision)
root.set('ResubmissionFlag',row.ResubmissionFlag)
Оба хранятся в фрейме данных Pandas как «True» или «False».
Если я преобразую их в строку, как это python root.set('SWDecision', str(row.SWDecision))
, это отладка ОК, но встроенный XML, когда я передаю его стороннему приложению для чтения, я получаю сообщение об ошибке в этих атрибутах, говоря, что они должны быть логическое значение, а не строка.
Как правильно построить XML с этими значениями в виде логических значений, а не строк?