簡體   English   中英

使用 Python 將文本提取到列表中

[英]Text extraction into list using Python

我正在嘗試使用 Python 代碼解析內容如下的文本文件。

class: A1                
Name: anoop
Name: raj
Name: vish01
class: A2
Name: Billy
Name: bob
Name: Rick
Name: robert

並嘗試將這些信息解析到一個字典中,如下所示:

{A1:[anoop,raj,vish01],A2:[Billy,bob,Rick,robert]}

我寫了一段代碼,但它只更新迭代中的姓氏,無法獲得實現迭代的邏輯。

dict1 = {}
with open("test_ldap.txt") as fh:
    for line in fh:
        if "class" in line:
            mlist = line.split()[1]
        if "name" in line:       
            s = str(line.split()[1])
            mylist = []
            mylist.append(s)
            dict1.update({mlist: mylist})
print(dict1)

我的 output

{'A1': ['vish01'], 'A2': ['robert']}

每次遇到“名稱”行時,都會創建一個新列表並將其設置為 class 名稱的值。 當您獲得“類”行時,您應該創建列表,並且 append 為每個后續的“名稱”行創建相同的列表。

for line in fh:
  if line.startswith('class'):
    mlist = line.split()[1]
    dict1[mlist] = []
  elif line.startswith('name'):
    name = line.split()[1]
    dict1[mlist].append(name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM