解析后我无法从列表项中删除空格。这是完全有效的代码。
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']
请帮忙解决这个问题。 但如果您没有尝试过代码,请不要提供建议。
我认为问题在于编码。但这个假设,因为我是编程新手。
答案 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
。然后就扔掉了。它没有进入列表。