from simplified_scrapy import SimplifiedDoc, utils #simplified_scrapy is framework for extrcting data xml = utils.getFileContent('check_in.xml') doc = SimplifiedDoc(xml) #SimplifiedDoc is a library for parsing data such as HTML and XML nodes = doc.select('air:EDS_AirCheckInRQ').children print (nodes.tag) for x in nodes: print((doc.select('air:EDS_AirCheckInRQ')['Version']),(doc.select('com:Source'))) Here is my output:- 4.000 {'tag': 'com:Source', 'AirlineVendorID': 'CM'} 4.000 {'tag': 'com:Source', 'AirlineVendorID': 'CM'} 4.000 {'tag': 'com:Source', 'AirlineVendorID': 'CM'} 4.000 {'tag': 'com:Source', 'AirlineVendorID': 'CM'} 4.000 {'tag': 'com:Source', 'AirlineVendorID': 'CM'} 4.000 {'tag': 'com:Source', 'AirlineVendorID': 'CM'}这是我的 python 代码,我只想在其中打印一次,但是当我运行它时,它会给出打印多次的输出。我只想打印一次。谁能帮我解决为什么打印多次而不是一次?
2 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
如果你有你的print()
inside ,for x in nodes:
它会打印每个x
in nodes
。只需删除 for 循环,您甚至没有x
在循环中使用。
江户川乱折腾
TA贡献1851条经验 获得超5个赞
您正在循环打印。摆脱这个:
for x in nodes: print((doc.select('air:EDS_AirCheckInRQ')['Version']),(doc.select('com:Source')))
据我了解,您正在尝试从节点中提取一些信息您可以尝试以下操作:
for x in nodes: print((x.select('air:EDS_AirCheckInRQ')['Version']),(x.select('com:Source')))
但这可能不起作用,因为我不知道您正在使用哪些数据。
添加回答
举报
0/150
提交
取消