Pandas игнорировать заголовок и столбец из json тела - PullRequest
0 голосов
/ 30 марта 2020

Я выбрал results из тела json из запроса селена. Я хочу избавиться от заголовка и первого столбца результатов. Пробовал некоторые методы из pandas и, кажется, не работает для меня.

Вот что я попробовал

driver.get('https://reversewhois.domaintools.com/?ajax=mReverseWhois&call=ajaxUpdateRefinePreview&q=%5B%5B%5B%22whois%22%2C%222%22%2C%22VerifiedID%40SG-Mandatory%22%5D%5D%5D')
time.sleep(5)
pre = driver.find_element_by_tag_name("pre").text
data = json.loads(pre)
table = data['results']
tables = pd.read_html(table,header=None)

df = tables[-1]
print(df)

Я получил такой ответ

                    Domain Name Create Date                                        Registrar
0                         001.sg  2019-03-13          WEB COMMERCE COMMUNICATIONS (S) PTE LTD
1                     001cafe.sg  2020-01-01             EXABYTES NETWORK (SINGAPORE) PTE LTD

Я просто хочу избавиться от заголовков, а также от первого столбца. Мне нужно только доменное имя и другие детали. Может кто-нибудь сказать мне, почему мой метод не работает?

Ответы [ 2 ]

1 голос
/ 30 марта 2020

In Pandas DataFrame индекс является его внутренним компонентом c. Что-то вроде столбца главного ключа (обычно называемого id ) в реляционной базе данных.

Так что вы не можете запустить del df [''] .

Но вы можете напечатать любой DataFrame без индекса.

Один из способов добиться этого:

print(df.to_string(index=False))

Вы также можете попробовать:

df.style.hide_index()
1 голос
/ 30 марта 2020

Вы должны попытаться использовать skiprows и пропустить первую строку, которая является заголовком.

tables = pd.read_html(table,skiprows=1)

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