Я скребу бейсбольные команды и импортирую код Python в Excel, используя панд.
Что я ищу:
- Удалить кавычки из имен
- Снять скобки с начала и конца каждой команды
- Разделение имен на разные ячейки
Пример текущего выхода команды 1:
['Daniel Norris', 'Masahiro Tanaka', 'Mikie Mahtook', etc.]
Все вышеперечисленные имена имеют кавычки, запятые и скобки. Все они также перечислены в одной ячейке.
Пример предпочтительного вывода Excel для Команды 1:
Daniel Norris Masahiro Tanaka Miki Mahtook etc.
Как вы можете видеть выше, я хотел бы удалить все кавычки, запятые и скобки. Кроме того, я хотел бы, чтобы имена всех игроков каждой команды были в соответствующих ячейках.
Я искал правильный код онлайн. До сих пор я видел три примера на stackoverflow.com, но они выглядят иначе, чем мой. Я покажу все три. Возможно, один из них может быть использован в этом случае.
Пример 1 с использованием строкового метода:
s = s.strip(['o','1'])
Пример 2 с использованием метода замены:
s = s.replace("World", "")
Пример 3 с использованием метода удаления:
x = [1,2,3,4,2,2,3]
def remove_values_from_list(the_list, val):
for i in range(the_list.count(val)):
the_list.remove(val)
remove_values_from_list(x, 2)
print(x)
Можно ли реализовать один из этих кодов для выполнения трех пунктов, которые я перечислил выше? Если нет, возможно, кто-то может предложить мне некоторое представление о том, как лучше достичь моих целей. Я видел, как некоторые люди онлайн предлагают фильтр регулярных выражений. Я не знаю, как их использовать, хотя. Заранее спасибо за ваше время и усилия!
Кстати, я новичок в кодировании и очистке. Я очень благодарен за любую помощь, которую я могу получить. Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы или я могу добавить больше деталей, чтобы помочь вам.
Вот мой код:
from bs4 import BeautifulSoup
import requests
import pandas as pd
url = 'http://www.baseballpress.com/lineups'
soup = BeautifulSoup(requests.get(url).text, 'html.parser')
all_games = []
for g in soup.find_all(class_="game"):
players = g.find_all('a', class_='player-link')
game = {
'players': [_.text for _ in g.find_all('a', class_='player-link')],
}
all_games.append(game)
print(all_games)
df = pd.DataFrame.from_dict(all_games)
writer = pd.ExcelWriter('batting lineup.xlsx')
df.to_excel(writer, 'baseball_sheet')
writer.save()