我正在尝试通过在Python中使用一系列带有数据的CSV并将其作为Pandas数据帧进行迭代,在Python中使用lxml.objectify构建xml。问题是我在数据框中具有“ 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)
两者都以“ True”或“ False”的形式存储在熊猫数据框中。
如果将它们转换为字符串,例如python root.set('SWDecision', str(row.SWDecision))
,它将调试正常,但是将生成的xml传递给第三方应用程序以读取它时,这些属性出现错误,表示它们必须为布尔值,而不是字符串。
用这些值作为布尔值而不是字符串来构建xml的正确方法是什么?