簡體   English   中英

僅打印 .txt 文件中的特定單詞 - Python

[英]Printing only specific words from .txt file - Python

對以下問題的任何幫助將不勝感激。

我有以下名為 DOB 的 .txt 文件:

Orville Wright 21 July 1988
Rogelio Holloway 13 September 1988
Marjorie Figueroa 9 October 1988
Debra Garner 7 February 1988
Tiffany Peters 25 July 1988
Hugh Foster 2 June 1988
Darren Christensen 21 January 1988
Shelia Harrison 28 July 1988
Ignacio James 12 September 1988
Jerry Keller 30 February 1988
Frankie Cobb 1 July 1988
Clayton Thomas 10 December 1988
Laura Reyes 9 November 1988
Danny Jensen 19 September 1988
Sabrina Garcia 20 October 1988
Winifred Wood 27 July 1988
Juan Kennedy 4 March 1988
Nina Beck 7 May 1988
Tanya Marshall 22 May 1988
Kelly Gardner 16 August 1988
Cristina Ortega 13 January 1988
Guy Carr 21 June 1988
Geneva Martinez 5 September 1988
Ricardo Howell 23 December 1988
Bernadette Rios 19 July 1988

我需要以以下格式示例打印所有姓名和出生日期:

Name:   
O Wright

Birthdate:
21 July 1988

我下面的代碼根據需要打印出大寫字母中的第一個字符,但是此后如何分離特定單詞並從 txt 文件中打印它們?

我到目前為止的代碼是:

f = open('DOB.txt', 'r+')
for line in f:
    f = line[0] + ". "
    print(f)
g = open('DOB.txt')
for g in g.read().split():
    print(g)

假設每個名字只是一個名字和姓氏,沒有中間名等。您可以簡單地讀取文件的每一行並根據空格進行拆分。 下面將捕獲 first 和 last 中的 first to 字段,然后是 dob 中的其余字段。 然后我們可以使用我們的變量打印這兩行。 無需兩次遍歷文件數據。

with open('test.txt') as my_file:
    for person in my_file:
        first, last, *dob = person.rstrip().split()
        print(f"Name: {first[0]}. {last}")
        print(f"Birthdate: {' '.join(dob)}")

輸出

Name: O. Wright
Birthdate: 21 July 1988
Name: R. Holloway
Birthdate: 13 September 1988
Name: M. Figueroa
Birthdate: 9 October 1988

暫無
暫無

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

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