Как я могу эффективно очистить данные и очистить их? [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу эффективно очистить данные и очистить их? [закрыто]

Сообщение Anonymous »

Я очистил данные с веб-сайта, и у меня возникли проблемы с очисткой
это код, с помощью которого я очистил данные. Это лучшая практика?

Код: Выделить всё

import requests
from bs4 import BeautifulSoup
import json

all_countries_links=[]
countries= []
all_data=[]
data_dict={}
data_value=[]
page1 = requests.get(f"https://data.un.org/")

def main(page):
source = page.content
soup = BeautifulSoup(source,'lxml')
all_page = soup.find("div",{"class","CountryList"}).find_all('a',href=True)
for link in all_page:
all_countries_links.append(link['href'])
countries. append(link.text.strip())

def scrape_country(all_countries_links,countries):
for country in all_countries_links[:2]:
page2 = requests.get(f"https://data.un.org/{country}")
source = page2.content
soup = BeautifulSoup(source,'lxml')
all_page= soup.find('ul',{'class','pure-menu-list'})
tables = all_page.contents
for table in tables:
line = table.text.strip()
all_data.append(line)
main(page1)
scrape_country(all_countries_links,countries)
file_path = "data.json"
with open(file_path, 'w') as f:
json.dump(all_data, f, indent=4)
print(f"Data saved to {file_path}")
Это небольшой пример данных после их сбора.

Код: Выделить всё

[
"",
"General Information\n\nRegion\u00a0\n\u00a0\nSouthern Asia\nPopulation\u00a0(000, 2021)\n\u00a0\n39 835a\nPop. density\u00a0(per km2, 2021)\n\u00a0\n61a\nCapital city\u00a0\n\u00a0\nKabul\nCapital city pop.\u00a0(000, 2021)\n\u00a0\n4 114.0b\nUN membership date\u00a0\n\u00a0\n19-Nov-46\nSurface area\u00a0(km2)\n\u00a0\n652 864b\nSex ratio\u00a0(m per 100 f)\n\u00a0\n105.3a\nNational currency\u00a0\n\u00a0\nAfghani (AFN)\nExchange rate\u00a0(per US$)\n\u00a0\n77.1c",
]
Я пытался разделить данные с помощью этого кода:

Код: Выделить всё

cleaned_data =[]

# for line in cleaned_data:
#     print(line.split('\n'))
# new_data = [line for line in all_data.split()]

for line in all_data[:1]:
for line2 in line.split():
if line2 not in ["General","Information","Economic"," indicators","Social"," indicators"]:
cleaned_data.append(line2)
Но я надеялся найти лучший способ.

Подробнее здесь: https://stackoverflow.com/questions/787 ... d-clean-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»