<p>您的文件是一个csv文件,因此您可以更轻松地使用csv模块:</p>
<pre><code>import csv
f = open('data.txt', 'rb')
for row in csv.reader(f, delimiter=','):
if row:
item, key_and_val = row[3].split(':')
item = item[2:]
key, val = key_and_val.split('=')
print item
print ' {} => {}'.format(key.strip(), val.strip())
for key_and_val in row[4:]:
key, val = key_and_val.split('=')
print ' {} => {}'.format(key.strip(), val.strip())
output:
RATIO
casher# => 30
Value => 2.579
Units => ratio
Error => N
RATIO
casher# => 31
Value => 4.509
Units => ratio
Error => N
RATIO
casher# => 32
Value => 3.735
Units => ratio
Error => N
RATIO
casher# => 33
Value => 2.401
Units => ratio
Error => N
CUSTOMER
casher# => 30
Value => 50
Units => count
CUSTOMER
casher# => 31
Value => 6
Units => count
CUSTOMER
casher# => 32
Value => 88
Units => count
CUSTOMER
casher# => 33
Value => 33
Units => count
</code></pre>
<blockquote>
<p>your matching pattern also matched key=value even if the "item :" not
exist, any advance technique to <strong>exclude those</strong> key = value <strong>line</strong>?</p>
</blockquote>
<p>以下内容将跳过没有项目的行:</p>
^{pr2}$