<p>对于产品id位于产品名称之前的文件,请尝试以下操作:</p>
<pre><code>file = open("prd1.txt")
data = file.readlines()
data = [i.strip() for i in data]
dict_ = {"ProdList":[]}
for i in range(0,len(data),2):
line = data[i].split(':')
nxt_line = data[i+1].split(':')
dict_['ProdList'].append({'ID':line[1], 'Name': nxt_line[1]})
</code></pre>
<p><strong>输出</strong>:</p>
<pre><code>{'ProdList': [{'ID': ' sq112', 'Name': ' ment-bar1'}, {'ID': ' sq001', 'Name': ' jumw-cd12'}, {'ID': ' mcc-hg921', 'Name': ' emq-vx02'}, {'ID': ' mmc112', 'Name': ' ment-bar2'}, {'ID': ' cx022', 'Name': ' mxx-21ed'}, {'ID': ' vcb113', 'Name': ' emq-vx05'}]}
</code></pre>
<p>如果对于某些文件,productname在productid之前,那么您必须在for循环部分中进行修改,我们将值赋给<code>'ID'</code>和<code>'Name'</code>键。此更改需要先了解文件是否在产品id之前包含产品名称。以下是代码:</p>
<pre><code>for i in range(0,len(data),2):
line = data[i].split(':')
nxt_line = data[i+1].split(':')
dict_['ProdList'].append({'ID':nxt_line[1], 'Name': line[1]}) # Change here
</code></pre>
<p>如果您想使整个过程一致自动化,即您不知道哪些文件在产品id之前包含产品名称,以及哪一种相反的方式,您必须检查第一行是否包含关键字<code>id</code>或<code>name</code>:</p>
<pre><code>if 'id' in data[0]:
# proceed with the first loop
else:
# proceed with the second loop
</code></pre>