我有一个文本文件需要处理,其中数据的格式如下:
<emptyline>
Recno:: 0
URL:: http://domain1.com/
ParseText::
Home - 360° Virtualisi...
Recno:: 1
URL:: http://domain2.com/
ParseText::
IIS Windows Server
Recno:: 2
URL:: http://domain3.com/
ParseText::
ArrowECS Israel. Grow . ...
...
好消息是格式是一致的,记录总是
首先,我真的不知道这是否是任何类型的标准,如XML,JSON ......
其次,如果是这样,我怎么能把它变成一个json?它不是那么简单,我必须编写一个自定义的解析器。
答案 0 :(得分:0)
您可以逐个读取行并将条目添加到列表中:
records = []
with open("filename") as f:
while True:
if f.readline() == '': break # break if file is empty
recno = f.readline().split(":: ")[1]
url = f.readline().split(":: ")[1]
f.readline()
f.readline() # ParseText::
parsetext = f.readline()
records.append({
"url": url,
"recno": recno,
"parsetext": parsetext,
})
如果你需要它作为JSON,你可以使用json.dumps
编码:
import json
print(json.dumps(records))
这应该有效,只要文件与您描述的完全一样。