【发布时间】:2018-05-28 12:41:54
【问题描述】:
我有一个txt文件,结构如下
start
id=1
date=21.05.2018
summ=500
end
start
id=7
date=23.05.2018
summ=500
owner=guest
end
我需要在字典列表中解析它(str:str(即使它是 int 类型或日期:将其转换为字符串))。即用startend在块上拆分它,然后在=符号上拆分它。 start end 之间的行数可以不同。 D
但是a无法意识到。我试过这样的事情:
d ={}
arr = []
ind = 0
for line in plines:
ind = ind + 1
if 'startpayment' in line:
print('ind = ' + str(ind))
for i in range(ind, len(plines)):
print(i)
key, value = plines[i].strip().split('=')
if type(value) == 'str':
d[key] = str(value)
elif type(value) == 'int':
d[key] = int(value)
arr.append(d)
if 'endpayment' in line:
break
有人可以帮我吗?谢谢
【问题讨论】:
-
欢迎来到 StackOverflow。您想要的结果结构不是很清楚——您应该从给定的示例 txt 文件中显示想要的结果。例如,您希望字典值采用什么格式?
id和summ键的值是整数还是字符串?date键的值是字符串吗?如果一条记录缺少一个键,例如第一条记录中缺少owner,是否只是被跳过?另外,文件的格式是否保证没有错误?见How to create a Minimal, Complete, and Verifiable example。 -
我已经编辑了问题。字典:“str”:“str”。
-
感谢您的编辑和评论——他们确实回答了我的问题。但是,如果您想继续在这里提问,您确实应该从示例输入中显示所需的输出,如How to create a Minimal, Complete, and Verifiable example 中所述。你的第一个问题很好,否则。
标签: python parsing dictionary