У меня возникли проблемы с попыткой разбить каждый элемент во вложенном списке. Я использовал этот метод для моего первого сплита. Я хочу сделать еще одно разделение на теперь вложенный список. Я думал, что мог бы просто использовать ту же строку кода с несколькими модификациями goal2 = [[j.split("") for j in goal]]
, но я продолжаю получать общую ошибку: 'list' object has no attribute 'split'
. Я знаю, что вы не можете разделить список, но я не понимаю, почему моя модификация отличается от связанного метода. Это мой первый проект по поиску в сети, и я ищу только номера телефонов сайта. Мне нужна помощь, чтобы исправить мою проблему, а не новый код, чтобы я мог продолжать изучать и совершенствовать свои собственные методы.
import requests
import re
from bs4 import BeautifulSoup
source = requests.get('https://www.pickyourownchristmastree.org/ORxmasnw.php').text
soup = BeautifulSoup(source, 'lxml')
info = soup.findAll(text=re.compile("((?:\d{3}|\(\d{3}\))?(?:\s|-|\.)?\d{3}(?:\s|-|\.)\d{4})"))[:1]
goal = [i.split(".") for i in info]
goal2 = [[j.split("") for j in goal]]
for x in goal:
del x[2:]
for y in goal:
del y[:1]
print('info:', info)
print('goal:', goal)
Вывод без переменной goal2
:
info: ['89426 Green Mountain Road, Astoria, OR 97103. Phone: 503-325-9720. Open: ']
goal: [[' Phone: 503-325-9720']]
Требуемый вывод с переменной "goal2
":
info: [info: ['89426 Green Mountain Road, Astoria, OR 97103. Phone: 503-325-9720. Open: ']
goal: [[' Phone: 503-325-9720']]
goal2: ['503-325-9720']
Очевидно, у меня будет еще больше номера, но я не хотел засорять пространство. Так что это будет выглядеть примерно так:
goal2: ['503-325-9720', '###-###-####', '###-###-####', '###-###-####']
Но я хочу убедиться, что каждое число может быть экспортировано в новую строку в файле CSV. Поэтому, когда я создаю CSV-файл с заголовком «Телефон», каждый номер выше будет в отдельной строке и не будет сгруппирован вместе. Я думаю, что мне может понадобиться изменить свой код на для l oop ???