美好的一天可能有人请帮助我尝试基于第一个值“tocken”循环遍历 txt 文件,它当前仅在我指定 tockens 时循环,例如 {600001130260} 文件中的多个 tockens 都在第一行 [0 ] id 喜欢它迭代每个标记/行并提取指定的信息。
数据文件看起来像这样
600001130260|005|||IN|2197|01||20160905210028
600001130260|100|005|00|VAT|VAT|VAT @ 14%|2,150.14
600001130260|100|013|00|TOT|CTOT|Total Due|86,578.93
600001130260|100|014|00|DD|DD|Due Date|2015/09/22|2015/10/15
600001130260|200|019|01||YDACON|Daily average consumption 79.325 kWh||
28002385859|000|||||LT|||T0IQ04960000000016400000000000000||
28002385859|100|005|00|CUR|CUR|Current Charges (Excl. VAT)|304.48
28002385859|100|006|00|VAT|VAT|VAT @ 14%|10.62
28002385859|100|013|00|TOT|CTOT|Total Due|26,451.75
28002385859|100|014|00|DD|DD|Due Date|2015/09/23
28002385859|150||23,149.02|1,686.37|1,233.57|382.79|0.00|26,451.75
这是我的代码
file1 = open(r"C:\Users\isaac.gumbi\Documents\jhb\Full test file.txt", 'r')
file2 = ""
with file1 as f:
for line in f:
tokens = line.split("|")
keys = {'600001130260','118002191517','CTOT', 'CUR', 'Due Date',
'VAT', '020', '030', '010', '040', 'STOT', '000', '005',
'050', '0100', 'BBF', 'INT','CIN', 'CTOT', 'DD', 'YVLEVY',
'YRREM'}
if len(tokens) and tokens[0] in keys and tokens[5] == 'CTOT':
Total_due = ' '.join(tokens[7:8])
if Total_due == '' : Total_Due = "null"
print ("Total_due", Total_due)
这是我目前的输出
('Total_due', '86,578.93\n')
('Total_due', '79,191.18\n')
我希望它在不指定 [0] 中的标记的情况下给我输出 total_due
蝴蝶不菲
相关分类