我正在尝试从以下链接中捕获一些列:
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())
问题是我无法从列“ Palabras”和“ Frecuencia”中删除以下/ n:
有什么想法吗?预先感谢。
\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()
删除所有周围的空格。
我认为,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()
方法。
编辑:这将删除所有空格。