Редактирование многострочных строк в Python - PullRequest
0 голосов
/ 09 сентября 2018

Довольно новый для Python здесь. Я использую веб-драйвер селена для запроса некоторой информации с веб-сайта (доступного только из моей организации, да, SQL-запросы были бы намного лучше, но это то, чем я сейчас занимаюсь). Я использую .text метод Selenium для извлечения текста из таблицы, и я print(XXX.text), это возвращает что-то вроде этого.

XXX.pdf
[Remove]
XXX.pdf
[Remove]
etc...

Вопрос в том, что я хотел бы удалить, [Remove], чтобы у меня осталось что-то вроде:

XXX.pdf
XXX.pdf

или даже лучше

XXX.pdf, XXX.pdf

Это то, что я пробовал до сих пор, но это не сработало.

dataElement = driver.find_element_by_css_selector('''blah blah blah''')                                             
datasheets = str(dataElement.text)
datasheets.replace('[Remove]','')
print(datasheets)

Python 3.5 Селен 2

Спасибо за любую помощь. :)

Ответы [ 4 ]

0 голосов
/ 09 сентября 2018

Вам нужно сделать что-то подобное, чтобы проанализировать ваш вывод.

dataElement = driver.find_element_by_css_selector("blah blah blah")
#I don't know what type is this one, but I asume it's a iterable. 

removes = Set(["[remove]","[remove1]", "[remove2]"])
#You can have a set of the strings you want to remove
for data in dataElement:
#for every unit in this iterable variable we'll do the next lines
    if str(data) in removes == False:
    #if something it is not actually in the set of unwanted stuff.                          
        print(str(data))
        #this is your useful output
        #whatever you wanna do to the filtered output.
    else:
        #this is the stuff you don't want to use, the [remove] ones

Надеюсь, это подсказывает вам. Привет.

0 голосов
/ 09 сентября 2018

Что он напечатал в результате? Может быть, Вы что-то забыли.

dataElement = driver.find_element_by_css_selector('''blah blah blah''')<br> datasheets = str(dataElement.text) datasheets = datasheets.replace('[Remove]','') print(datasheets)

0 голосов
/ 09 сентября 2018

попробуйте это:

l = s.split('[Remove]')
s = ', '.join(l)
0 голосов
/ 09 сентября 2018
In [26]: data = '''\
    ...: XXX.pdf
    ...: [Remove]
    ...: XXX.pdf
    ...: [Remove]\
    ...: '''

In [27]: def func(string, rep):
    ...:     return ', '.join([x for x in string.split('\n') if x != rep])
    ...: 

In [28]: func(data, '[Remove]')
Out[28]: 'XXX.pdf, XXX.pdf'

Вы можете использовать что-то подобное.

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