我正在做一個棒球分析專案,我在網路上抓取給定日期的給定球隊的實時陣容。
我目前在抓取的資料框中收到的名稱存在問題——在隨機情況下,玩家名稱將以不同的格式出現并且無法使用(我將玩家名稱傳遞給一個統計函式,該函式只會如果我的球員姓名格式正確,就可以作業。)
例子:
Freddie Freeman
Ozzie Albies
Ronald Acuna
Austin RileyA. A.Riley
Dansby Swanson
Adam Duvall
Joc PedersonJ. J.Pederson
如您所見,大多數名稱的格式都是正常的,但是,在少數情況下,會顯示玩家姓名,并在姓氏上添加名字的第一個字母,后跟一個句點,然后是他們的名字首字母和姓。如果我可以轉身:Austin RileyA。A.Riley,進入 Austin Riley,然后一切都會好起來的。
這是我提取的所有團隊和資料中的一致主題——有時有一些球員的名字完全按照這種方式格式化——名字 姓氏 名字的首字母。 第一個首字母。 姓氏
我試圖找出一種重新格式化名稱的方法,以便它們可用,并且以一種通用/適用于任何可能名稱的方式進行。
uj5u.com熱心網友回復:
如果主題確實一致,您可以執行以下操作:
name_list = ['Freddie Freeman',
'Ozzie Albies',
'Ronald Acuna',
'Austin RileyA. A.Riley ',
'Dansby Swanson',
'Adam Duvall',
'Joc PedersonJ. J.Pederson']
new_list = []
for n in name_list:
new_list.append(n[:n.find('.')-1])
new_list
有幾種方法可以實作這一點(也使用我不推薦的正則運算式)。我發布的示例在我看來是最好的 ( find() documentation)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/341439.html
上一篇:嘗試將JSON決議為字典的問題
下一篇:Python:從文本中提取字串
