Найти - Пользователи
Полная версия: Конкатенация строк
Начало » Python для новичков » Конкатенация строк
1 2 3 4
python.alex
from bs4 import BeautifulSoup
from urllib import request

a = request.urlopen('http://www.betexplorer.com/soccer/finland/veikkausliiga/results/').read()

soup = BeautifulSoup(a)

outfile = open('C:\\Documents and Settings\\Алекс\\Рабочий стол\\a.txt', ‘w’)

body = soup.findAll('td', ‘first-cell tl’) + soup.findAll('td', ‘result’) + soup.findAll('td', ‘last-cell nobr date’)

for i in body:
outfile.write(str(i.text + ‘\n’))

print(outfile)

outfile.close()

я почти не знаю питон, но накалякал самостоятельно это за пару недель шаряния по инету, ибо нигде толком ничего непонятно. вот так эта байда у меня работает и получается список в файле. потом его надо обработать. еще эти классы убогие в супе не хотят складываться толком. может их можно сразу складывать без этих сложностей в виде функций?
python.alex
Python является простым (с) некто с 100 летним опытом работы

py.user.next
python.alex
у меня просто список есть огромный с 3 видами данных
Его надо сначала разделить, а потом применить zip к частям. А разделять его надо потому, что ты получил его слитным изначально.

Когда у тебя будет три раздельных списка, тогда сможешь применить к ним zip:
>>> a = ('a1', 'a2', 'a3')
>>> b = ('b1', 'b2', 'b3')
>>> c = ('c1', 'c2', 'c3')
>>> 
>>> abc = (a, b, c)
>>> 
>>> lst = list(map(' '.join, zip(*abc)))
>>> lst
['a1 b1 c1', 'a2 b2 c2', 'a3 b3 c3']
>>>

python.alex
в экселе было бы все проще в 100 раз. странный этот питон. докуя сложный, мутный.
Ну, подключись через Excel к сайту какому-нибудь и выбери оттуда нужное содержимое.

Да и в аналогичных операциях питон гибче:
>>> ('x' * 5).join('a' * 3)
'axxxxxaxxxxxa'
>>>
pyuser
python.alex
Это получилось потому что я не вкуриваю как в супебьютифульном скачивать сразу несколько классов, через findAll. Приходится втыкать нечто вроде
body = zip(soup.findAll(td, first-cell tl), soup.findAll(td, result), soup.findAll(td, last-cell nobr date))
with open("outfile.txt", "wt", encoding("utf-8")) as fp:
    for line in body:
        print(" ".join(line), file=fp)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB