一个具有重复字段的Python字典

2024-04-26 17:41:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python构建一个字典,以便与soapapi一起使用。你知道吗

我的SOAP API接受如下输入:

<dataArray>
  <AccountingYearData>
    <Handle>
      <Year>string</Year>
    </Handle>
    <Year>string</Year>
    <FromDate>dateTime</FromDate>
    <ToDate>dateTime</ToDate>
    <IsClosed>boolean</IsClosed>
  </AccountingYearData>
  <AccountingYearData>
    <Handle>
      <Year>string</Year>
    </Handle>
    <Year>string</Year>
    <FromDate>dateTime</FromDate>
    <ToDate>dateTime</ToDate>
    <IsClosed>boolean</IsClosed>
  </AccountingYearData>
</dataArray>

这是完整的字符串 https://api.e-conomic.com/secure/api1/EconomicWebService.asmx?op=AccountingYear_CreateFromDataArray

请注意该字段是如何多次出现的。你知道吗

如何使用这些数据创建Python dict?你知道吗

如果我这样做:

data = {
  'dataArray':{
    'AccountingYearData':{
      'Handle':{'Year':'2017'}, 
      'Year':'2017',
      'FromDate':'2017-01-01', 
      'ToDate':'2017-12-31', 
      'IsClosed':'False'
    },
    'AccountingYearData':{
      'Handle':{'Year':'2017'}, 
      'Year':'2017',
      'FromDate':'2017-01-01', 
      'ToDate':'2017-12-31', 
      'IsClosed':'False'
    }
  }
}

我得到:

>>> type (data)
<type 'dict'>
>>> data {
  'dataArray': {
    'AccountingYearData': {
      'IsClosed': 'False', 
      'FromDate': '2017-01-01', 
      'Handle': {'Year': '2017'}, 
      'ToDate': '2017-12-31', 
      'Year': '2017'
    }
  }
}

我想这是意料之中的,但现在我需要的是。你知道吗


Tags: falsedatadatetimestring字典typeyeardict
1条回答
网友
1楼 · 发布于 2024-04-26 17:41:37

好吧,答案似乎很明显,甚至由“dataArray”名称暗示:如果您有一个项目列表,那么您想使用list来存储它们:

data = {
    'dataArray':[
        {
            'AccountingYearData':{
                'Handle':{'Year':'2017'}, 
                'Year':'2017',
                'FromDate':'2017-01-01', 
                'ToDate':'2017-12-31', 
                'IsClosed':'False'
                },
            },
        {
            'AccountingYearData':{
                'Handle':{'Year':'2017'}, 
                'Year':'2017',
                'FromDate':'2017-01-01', 
                'ToDate':'2017-12-31', 
                'IsClosed':'False'
                },
            },
        ]
    }

相关问题 更多 >