В этой статье я конвертирую вложенный список в единый список. Мы преобразуем сведенный список в DataFrame. Структура вложенного списка выглядит примерно так: [[список 1], [список 2], [список3], ..…, [список n]].

Это часть предварительной обработки данных для создания страницы карты HTML, показанной ниже.

Эта статья является частью серии.

Часть 1: Простой пример очистки нескольких веб-страниц одновременно с помощью BeautifulSoup

Часть 2: Эта страница

Часть 3: Определение широты и долготы адресов с помощью GoogleMaps API

Часть 4: Использование Folium для отображения широты и долготы

В предыдущей статье я выделил веб-сайт с помощью BeautifulSoup, и данные были получены в виде вложенного списка. В этой статье я конвертирую вложенный список в единый список.

Импортировать вложенный список из текстового файла

Вы можете выполнить действия, описанные в предыдущей статье, чтобы сгенерировать вложенный список или загрузить вложенный список из моего репозитория Github. Файл 'sta.txt' содержит вложенный список имен станций, а 'add.txt' содержит вложенный список соответствующих адресов станций.

# 'sta.txt' contains nested list of stations 
content = open("sta.txt", "r")
sta = eval(content.read())
content.close()

# 'add.txt' contains nest list of corresponding station addresses
content = open("add.txt", "r")
add = eval(content.read())
content.close()

Новая переменная создается из «sta» для преобразования вложенного списка в единый список. Следующий код используется для сглаживания вложенного списка «sta» в список с именем «all_stations».

# sta is a nested list [[],[],[]]
all_stations = []
for stations in sta:
    for station in stations:
        all_stations.append(station)

Тот же процесс повторяется для преобразования вложенного списка «добавить» в единый список «all_address». Код приведен ниже:

# add is a nested list [[],[],[]]
all_address = []
for addresses in add:
    for address in addresses:
        all_address.append(address)

Преобразование списков в DataFrame

Чтобы создать DataFrame, мы сначала назначим вновь созданный список pd.DataFrame и назначим имя столбца как «station». Мы также добавим столбец, содержащий адреса станций. Обе строки кодов приведены ниже.

df = pd.DataFrame(all_stations,columns=['Stations'])
df['Address'] = all_address
df.head(10)

В следующей статье будет извлечена информация, связанная с координатами широты и долготы, на основе адресов, извлеченных с веб-страницы и сохраненных в DataFrame. Вы можете прочитать следующую статью здесь: Часть 3: Определение широты и долготы адресов с помощью GoogleMaps API

GitHub

Основная папка: https://github.com/jabirjamal/jabirjamal.com/tree/main/FE/FE_05

подпапка, относящаяся к этой статье:
https://github.com/jabirjamal/jabirjamal.com/tree/main/FE/FE_05/M_02

Больше контента на plainenglish.io