【问题标题】:KeyError while converting XML to csv将 XML 转换为 csv 时出现 KeyError
【发布时间】:2021-09-27 11:52:42
【问题描述】:

我是 Python 编程新手

 ShotCode = root.attrib['Stops']
KeyError: 'Stops'

错误

tree = ET.parse(os.path.join(folderpath, xmlfilename))
root = tree.getroot()

filename, _ = xmlfilename.rsplit('.', 1)
Shot_30AA = open(filename + '.csv', 'w', newline='')
csvwriter = csv.writer(Shot_30AA)
head = []

ShotCode = root.attrib['Stops']

csvwriter.writerow(['Stops', ShotCode])
head.append(ShotCode)

样本 Xml:

<Stops> <cmp_name>N/A</cmp_name> <cmp_id>N/A</cmp_id> <pu_DepartureDate>N/A</pu_DepartureDate> <DeliveryName>ABC</DeliveryName> <DeliveryID>RRFF</DeliveryID> <del_DepartureDate>2021-07-26T16:01:24.647</del_DepartureDate> <WorkOrder/> <ReleaseNo>EFFC</ReleaseNo> <NetWeight>38160.00</NetWeight> <TareWeight>0</TareWeight> <baletype>OCC-BALE</baletype> <BaleCount>36.00</BaleCount> <BaleCountLBH>0</BaleCountLBH> <SupplierName>VFGP</SupplierName> <DriverCode>DERG</DriverCode> <Coments>18971852</Coments> <TruckId>18971852</TruckId> <Picture/> </Stops>

【问题讨论】:

  • 请发布您的完整代码...
  • 我根据错误的猜测是您打错了字,而 XML 文档的根目录实际上没有“Stops”属性。为了确定,我们需要一个示例 XML。
  • N/AN/AN/AABCRRFF 2021-07-26T16:01:24.647EFFC38160.000OCC-BALE36.000VFGPDERG18971852 18971852
  • 这是示例 XML
  • @PriyankaKadam 您也可以编辑您的问题以将其包含在评论中,而不是在评论中发布。

标签: python export-to-csv


【解决方案1】:

我认为你混淆了属性和标签:

Xml 属性示例:

<Stops test="attrib1"> </Stops>

在您的情况下,元素根没有属性:

print(root.attrib) : {}

print(root.tag) : Stops

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多