Преобразование массива в словарь с Python - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь очистить таблицу и преобразовать ее в словарь, используя TH в качестве ключа и td в качестве значения.

Ниже приведен код для захвата TD и TH

for row in rows:

        td = row.find_all('td')
        th = row.find_all('th')
        row2 = [i.text.replace("\n", "").strip() for i in td]
        print(row2)
        ['', '90315', 'Printmaking I', 'S1', '01(REG-HR)', 'Faletto, Liana', '445', 
        'LS']
        print(headers) 
        #['Class', 'Description', 'Term', 'Schedule', 'Primary Staff > Name', 'Clssrm', 'Name']

Как преобразовать вывод в (удалить первый пустой элемент массива)

thisdict = {
  "class": "90315",
  "description": "Printmaking I",
  "term": "S1"
}

1 Ответ

0 голосов
/ 11 февраля 2020

Чтобы удалить первый элемент row2: (>>> is python prompt)

>>> del row2[0]
>>> row2
['90315', 'Printmaking I', 'S1', '01(REG-HR)', 'Faletto, Liana', '445', 'LS']
#!/usr/bin/python
thisdict = {'class':"", 'description':"", 'term':"", ...}
thisdict['class']=row2[1]
thisdict['description']=row2[2]
thisdict['term']=row2[3]
...

или если ваш headers содержит список ключей словаря:

for i in range(len(headers)):
   thisdict[headers[i]] = row2[i]
>>> thisdict
{'Term': 'S1', 'Description': 'Printmaking I', 'term': 'S1', 'class': '90315', 'Class': '90315', 'description': 'Printmaking I'}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...