Удаление / n из печати после очистки веб-страниц - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь захватить некоторые столбцы по следующей ссылке:

https://es.wiktionary.org/wiki/Wikcionario: Frecuentes- (1-1000) -Subt% C3% ADtulos_de_pel% C3% ADculas

Код, который я придумал, выглядит следующим образом:

import requests
wiki_url = "https://es.wiktionary.org/wiki/Wikcionario:Frecuentes-(1-1000)-Subt%C3%ADtulos_de_pel%C3%ADculas"
wiki_texto = requests.get(wiki_url).text

from bs4 import BeautifulSoup
wiki_datos = BeautifulSoup(wiki_texto, "html")

wiki_filas = wiki_datos.findAll("tr")
print(wiki_filas[1])

print("...............................")

wiki_celdas = wiki_datos.findAll("td")
print(wiki_celdas[0:])

fila_1 = wiki_celdas[0:]
info_1 = [elemento.get_text() for elemento in fila_1]
print(fila_1)
print(info_1)
info_1[0] = int(float(info_1[0]))
print(info_1)


print("...............................")

num_or = [int(float(elem.findAll("td")[0].get_text())) for elem in wiki_filas[1:]]
palabras = [elem.findAll("td")[1].get_text() for elem in wiki_filas[1:]]
frecuencia = [elem.findAll("td")[2].get_text() for elem in wiki_filas[1:]]

print(num_or[0:])
print(palabras[0:])
print(frecuencia[0:])

from pandas import DataFrame
tabla = DataFrame([num_or, palabras, frecuencia]).T
tabla.columns = ["Núm. orden", "Palabras", "Frecuencia"]
print(tabla.head())

Проблема в том, что я не могу удалить следующие / n из столбцов "Палабрас" и "Frecuencia":

enter image description here

Есть идеи? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 января 2020

Я думаю, что метод rstrip() должен помочь вам:

palabras = [elem.findAll("td")[1].get_text().rstrip() for elem in wiki_filas[1:]]
frecuencia = [elem.findAll("td")[2].get_text().rstrip() for elem in wiki_filas[1:]]

Вы также можете использовать lstrip для левой стороны и strip() метод для обеих сторон строки.

edit: это удаляет все пробелы.

1 голос
/ 17 января 2020

\n - это новая строка.

Вы можете удалить его либо с помощью .replace("\n", ""):

palabras = [elem.findAll("td")[1].get_text().replace("\n", "") for elem in wiki_filas[1:]]
frecuencia = [elem.findAll("td")[2].get_text().replace("\n", "") for elem in wiki_filas[1:]]

В качестве альтернативы, .strip() удаляет все окружающие пробелы.

...