解析后从列表项中删除空格

时间:2017-12-13 08:06:05

标签: python-3.x parsing space

解析后我无法从列表项中删除空格。这是完全有效的代码。

​from bs4 import BeautifulSoup
from selenium import webdriver
import pandas as pd
import xlwings as xw
driver = webdriver.PhantomJS()
driver.get("http://www.cbr.ru/hd_base/dv/?P1=4")
driver.find_element_by_id('UniDbQuery_FromDate').clear()
driver.find_element_by_id('UniDbQuery_FromDate').send_keys('11.12.2017')
driver.find_element_by_id('UniDbQuery_ToDate').clear()
driver.find_element_by_id('UniDbQuery_ToDate').send_keys('13.12.2017')
driver.find_element_by_id("UniDbQuery_searchbutton").click()
z=driver.page_source
driver.quit()
soup=BeautifulSoup(z)
x=[]
for tag in soup.tbody.findAll('td'):
    x.append(tag.text) 
y=x[1::2]
y
['381 970,85', '370 534,87', '374 626,19']

以下代码不会删除空格。

​for i in y:
    i=i.replace(' ', '')
​y
['381 970,85', '370 534,87', '374 626,19']

另一个代码也没有清除空格。

​y = [x.strip(' ') for x in y]
​y
['381 970,85', '370 534,87', '374 626,19']

请帮忙解决这个问题。 但如果您没有尝试过代码,请不要提供建议。

我认为问题在于编码。但这个假设,因为我是编程新手。

2 个答案:

答案 0 :(得分:0)

y=['381 970,85', '370 534,87', '374 626,19'] y=' '.join(y) y.replace(',',' ').split()

输出:

['381', '970', '85', '370', '534', '87', '374', '626', '19']

答案 1 :(得分:0)

y = ['381 970,85', '370 534,87', '374 626,19']
lst2 = [e.replace(' ', '') for e in y]
print(lst2)

你的第二个案子几乎是正确的。但是,.strip不会删除字符串中的空格。

在第一种情况下,将字符串分配给i,然后稍后将替换结果分配给i。然后就扔掉了。它没有进入列表。