pandas read_html, почему он говорит NaN, когда в строке есть данные - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь очистить эту страницу.

Я написал этот код:

import pandas as pd
output_file = open('neuropep.txt', 'a')
for i in range(1,2):
       number = '{:05}'.format(i)
       url = 'http://isyslab.info/NeuroPep/search_info?pepNum=NP' + str(number)
       tables = pd.read_html(url)
       print(tables[0][1])

Вывод этого:

0                           NP00001
1     7B2 C-terminal peptide (5-13)
2                 Rattus norvegicus
3                             10116
4                               NaN
5                               7B2
6                               NaN
7                                 9
8                               NaN
9                               NaN
10                        FSEEEKEPE
11                             View
12                              NaN
13                              NaN
Name: 1, dtype: object

Но по ссылке видно, что в строке 13 должно быть написано:

Karlsson O, Kultima K, Wadensten H, Nilsson A, Roman E, Andrén PE, Brittebo EB Neurotoxin-induced neuropeptide perturbations in striatum of neonatal rats J Proteome Res 2013 Apr 5;12(4):1678-90
PMID: 23410195

Я не могу устранить несоответствие?Я пытался возиться с печатью различных частей таблиц, но я не уверен, как определить, где находятся отсутствующие данные.На самом деле мне не нужна вся ссылка, только идентификатор PubMed.

Редактировать 1: пробовал с beautifulsoup:

for i in range(1,2):
                number = '{:05}'.format(i)
                url = 'http://isyslab.info/NeuroPep/search_info?pepNum=NP' + str(number)
                res = requests.get(url)
                soup = BeautifulSoup(res.content, 'lxml')
                table = soup.find_all('li')
                print(table)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...