[英]Python Parse Text Across Multiple Lines
我有一個文本文件,我需要處理以這種方式格式化數據的位置:
<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? 它不是那么簡單,我必須編寫一個自定義的解析器。
您可以逐行閱讀並將條目添加到列表中:
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))
只要文件與您所描述的完全相同,它就應該起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.