• Как задать переменную словарю в Python?

    avelecter
    @avelecter Автор вопроса
    tsarevfs, ок, мы задали переменную data для вывода 1 строчки словаря
    Но я всё равно не понимаю как сделать вывод вида "переменная" = {data}
  • Как задать переменную словарю в Python?

    avelecter
    @avelecter Автор вопроса
    tsarevfs,
    <table class="content-table">
    <tr>
    <th>Год</th>
    <th>Дивиденд (руб.)</th>
    <th>Изм. к пред. году</th>
    </tr>
    <tr class="forecast">
    <td class="black">след 12m. (прогноз)</td>
    <td class="black11">20.68</td> <td class="color-positive">+7.8%</td> </tr>
    <tr>
    <td>2019</td>
    <td>19.18</td> <td class="color-negative">-1.44%</td> </tr>
    <tr>
    <td>2018</td>
    <td>19.46</td> <td class="color-positive">+54.94%</td> </tr>
    <tr>
    <td>2017</td>
    <td>12.56</td> <td class="color-positive">+90.59%</td> </tr>
    <tr>
    <td>2016</td>
    <td>6.59</td> <td class="color-positive">+59.56%</td> </tr>
    <tr>
    <td>2015</td>
    <td>4.13</td> <td class="color-positive">+166.45%</td> </tr>
    <tr>
    <td>2014</td>
    <td>1.55</td> <td class="color-positive">+150%</td> </tr>
    <tr>
    <td>2013</td>
    <td>0.62</td> <td class="color-positive">+3.33%</td> </tr>
    <tr>
    <td>2012</td>
    <td>0.6</td> <td class="color-negative">-76.92%</td> </tr>
    <tr>
    <td>2011</td>
    <td>2.6</td> <td class="color-positive">+209.52%</td> </tr>
    <tr>
    <td>2010</td>
    <td>0.84</td> <td>n/a</td> </tr>
    <tr>
    <td>2009</td>
    <td>0</td> <td class="color-negative">-100%</td> </tr>
    <tr>
    <td>2008</td>
    <td>3.5</td> <td class="color-positive">+16.67%</td> </tr>
    <tr>
    <td>2007</td>
    <td>3</td> <td class="color-negative">-14.29%</td> </tr>
    <tr>
    <td>2006</td>
    <td>3.5</td> <td class="color-positive">+94.44%</td> </tr>
    <tr>
    <td>2005</td>
    <td>1.8</td> <td class="color-positive">+12.18%</td> </tr>
    <tr>
    <td>2004</td>
    <td>1.6</td> <td class="color-negative">-99.49%</td> </tr>
    <tr>
    <td>2003</td>
    <td>312.5</td> <td>n/a</td> </tr>
    </table>


    вот html табличка, которая парсится
  • Как задать переменную словарю в Python?

    avelecter
    @avelecter Автор вопроса
    tsarevfs, парсер:

    import requests
    from parse import *
    from bs4 import BeautifulSoup
    import lxml.html
    
    url = "https://www.dohod.ru/ik/analytics/dividend/nlmk"
    
    source = requests.get(url)      # задаем переменную для открытия адреса
    main_text = source.text     # забираем весь текст из урла
    soup = BeautifulSoup(main_text)  #  "разобранная" страница кода через модуль BeautifulSoup
    
    table = soup.find ("table", { "class" : "content-table" }) # ищем table с классом content-table в "разобранной" soup странице
    
    with open('test.html', 'w') as output_file:  # сохраняем инфу в файл
        output_file.write(str(table))
    
    f = open('test.html', 'r')  # открываем сохраненный файл
    f_str = f.read()  # читаем сохраненный файл
    
    root = lxml.html.fromstring(f_str)
    
    header = [x.text for x in root.xpath('.//tr/th')]
    
    for item in root.xpath('.//tr'):
        td = [x.text for x in item.xpath('.//td')]
        if td:
            print(dict(zip(header, td)))
    
    f.close()


    выдаёт такой результат:

    {'Год': 'след 12m. (прогноз)', 'Дивиденд (руб.)': '20.68', 'Изм. к пред. году': '+7.8%'}
    {'Год': '2019', 'Дивиденд (руб.)': '19.18', 'Изм. к пред. году': '-1.44%'}
    {'Год': '2018', 'Дивиденд (руб.)': '19.46', 'Изм. к пред. году': '+54.94%'}
    {'Год': '2017', 'Дивиденд (руб.)': '12.56', 'Изм. к пред. году': '+90.59%'}
    {'Год': '2016', 'Дивиденд (руб.)': '6.59', 'Изм. к пред. году': '+59.56%'}
    {'Год': '2015', 'Дивиденд (руб.)': '4.13', 'Изм. к пред. году': '+166.45%'}
    {'Год': '2014', 'Дивиденд (руб.)': '1.55', 'Изм. к пред. году': '+150%'}
    {'Год': '2013', 'Дивиденд (руб.)': '0.62', 'Изм. к пред. году': '+3.33%'}
    {'Год': '2012', 'Дивиденд (руб.)': '0.6', 'Изм. к пред. году': '-76.92%'}
    {'Год': '2011', 'Дивиденд (руб.)': '2.6', 'Изм. к пред. году': '+209.52%'}
    {'Год': '2010', 'Дивиденд (руб.)': '0.84', 'Изм. к пред. году': 'n/a'}
    {'Год': '2009', 'Дивиденд (руб.)': '0', 'Изм. к пред. году': '-100%'}
    {'Год': '2008', 'Дивиденд (руб.)': '3.5', 'Изм. к пред. году': '+16.67%'}
    {'Год': '2007', 'Дивиденд (руб.)': '3', 'Изм. к пред. году': '-14.29%'}
    {'Год': '2006', 'Дивиденд (руб.)': '3.5', 'Изм. к пред. году': '+94.44%'}
    {'Год': '2005', 'Дивиденд (руб.)': '1.8', 'Изм. к пред. году': '+12.18%'}
    {'Год': '2004', 'Дивиденд (руб.)': '1.6', 'Изм. к пред. году': '-99.49%'}
    {'Год': '2003', 'Дивиденд (руб.)': '312.5', 'Изм. к пред. году': 'n/a'}

    Как видите, переменных у справочников нет
  • Как задать переменную словарю в Python?

    avelecter
    @avelecter Автор вопроса
    У меня нет переменной словаря
    То что вы указали как:
    person_data =

    Только {ключ : значение}

    Вот я и не понимаю как выйти из этого положения
    В парсере что-ли дело
    он парсит html табличку с сайта в формат словаря, но не указывает переменную
  • Как задать переменную словарю в Python?

    avelecter
    @avelecter Автор вопроса
    Animkim, понял, окей
    Я щас читаю Укус Питона, но там этого нет вообще, всё поверхностно
  • Как задать переменную словарю в Python?

    avelecter
    @avelecter Автор вопроса
    Сергей Горностаев, учебник в процессе, вы правы
    Изучаю Питон неделю, но так и не понял что делать, если у словаря нет переменной
    Как к нему обращаться то?
    У меня именно такой случай
  • Как задать переменную словарю в Python?

    avelecter
    @avelecter Автор вопроса
    Animkim, первый вариант (a = 2, b = 3 ) оптимален
  • Как импортировать html в python скрипт?

    avelecter
    @avelecter Автор вопроса
    Владимир Куц, получилось, спасибо огромное!
  • Как импортировать html в python скрипт?

    avelecter
    @avelecter Автор вопроса
    о, спасибо!
    1) Можно ли вместо блока
    html_text = """
    <table class="content-table">
    ...
    </table>
    """

    как-то "сослаться" на html файл, который лежит в той же папке?
    Просто сейчас проблема: у меня парсером эта указанная таблица в отдельный файл копируется, а не в код питоновского скрипта
    Или надо таблицу как-то внедрить непосредственно в скрипт
  • Как импортировать html в python скрипт?

    avelecter
    @avelecter Автор вопроса
    Владимир Куц, извиняюсь, вот:

    <table class="content-table">
    <tr>
    <th>Год</th>
    <th>Дивиденд (руб.)</th>
    <th>Изм. к пред. году</th>
    </tr>
    <tr class="forecast">
    <td class="black">след 12m. (прогноз)</td>
    <td class="black11">83.71</td> <td class="color-positive">+53.2%</td> </tr>
    <tr>
    <td>2019</td>
    <td>54.64</td> <td class="color-positive">+28.78%</td> </tr>
    <tr>
    <td>2018</td>
    <td>42.43</td> <td class="color-negative">-16.13%</td> </tr>
    <tr>
    <td>2017</td>
    <td>50.59</td> <td class="color-positive">+361.59%</td> </tr>
    <tr>
    <td>2016</td>
    <td>10.96</td> <td class="color-positive">+3.59%</td> </tr>
    <tr>
    <td>2015</td>
    <td>10.58</td> <td class="color-positive">+28.55%</td> </tr>
    <tr>
    <td>2014</td>
    <td>8.23</td> <td class="color-negative">-4.3%</td> </tr>
    <tr>
    <td>2013</td>
    <td>8.6</td> <td class="color-positive">+21.47%</td> </tr>
    <tr>
    <td>2012</td>
    <td>7.08</td> <td class="color-positive">+41.04%</td> </tr>
    <tr>
    <td>2011</td>
    <td>5.02</td> <td class="color-negative">-23.48%</td> </tr>
    <tr>
    <td>2010</td>
    <td>6.56</td> <td class="color-positive">+48.42%</td> </tr>
    <tr>
    <td>2009</td>
    <td>4.42</td> <td class="color-negative">-21.77%</td> </tr>
    <tr>
    <td>2008</td>
    <td>5.65</td> <td class="color-positive">+22.83%</td> </tr>
    <tr>
    <td>2007</td>
    <td>4.6</td> <td class="color-positive">+360%</td> </tr>
    <tr>
    <td>2006</td>
    <td>1</td> <td>n/a</td> </tr>
    <tr>
    <td>2005</td>
    <td>0</td> <td class="color-negative">-100%</td> </tr>
    <tr>
    <td>2004</td>
    <td>2</td> <td>n/a</td> </tr>
    </table>
  • Как установить Grab на Windows 10 (Python 3.7)?

    avelecter
    @avelecter Автор вопроса
    DarkWood, как удалить текущую версию, которую я поставил?

    Через пип не получается:
    $ pip uninstall pycurl
    ERROR: Cannot uninstall 'pycurl'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
  • Как установить Grab на Windows 10 (Python 3.7)?

    avelecter
    @avelecter Автор вопроса
    Проблема в том, что версия pycurl‑7.43 не поддерживается Грабом
    Нужна 7.19
  • Как исправить ошибку ModuleNotFoundError: no module named pyowm Python 3.7.4?

    avelecter
    @avelecter Автор вопроса
    Ivan Yakushenko, Пожалуйста, если не сложно, опишите по шагам что мне нужно сделать, чтобы исправить всё?
    Я понял, что библиотека и файл с программой в разных местах, не понимаю как исправить
  • Как исправить ошибку ModuleNotFoundError: no module named pyowm Python 3.7.4?

    avelecter
    @avelecter Автор вопроса
    Ivan Yakushenko, я так и делал. С pyowm разобрался, заработало. Но с pip install pyTelegramBotAPI такая же проблема, не устанавливает

    C:\Users\Ave\AppData\Local\Temp\test.py>pip install pyTelegramBotAPI
    Requirement already satisfied: pyTelegramBotAPI in c:\users\ave\appdata\local\programs\python\python37-32\lib\site-packages (3.6.6)
    Requirement already satisfied: requests in c:\users\ave\appdata\local\programs\python\python37-32\lib\site-packages (from pyTelegramBotAPI) (2.7.0)
    Requirement already satisfied: six in c:\users\ave\appdata\local\programs\python\python37-32\lib\site-packages (from pyTelegramBotAPI) (1.12.0)


    import telebot
    
    bot = telebot.TeleBot("829699753:AAFuwcs1-dnUzJNwh-Ns-ReRJVK32Tbaueo")
    
    @bot.message_handler(content_types=['text'])
    def send_echo(message):
    	bot.reply_to(message, message.text)
    
    bot.polling( none_stop = True )


    Ошибка:
    C:\anaconda\envs\test.py\python.exe C:/python/WeatherBot.py
    Traceback (most recent call last):
      File "C:/python/WeatherBot.py", line 1, in <module>
        import telebot
      File "C:\python\telebot.py", line 3, in <module>
        bot = telebot.TeleBot("829699753:AAFuwcs1-dnUzJNwh-Ns-ReRJVK32Tbaueo")
    AttributeError: module 'telebot' has no attribute 'TeleBot'


    Три дня мучаюсь с этими программами питоновскими, перепробовал Subline Text + Con Emu, PyCharm, Spyder Anaconda - проблема с модулями
    Что я делаю не так - не понимаю
  • Как исправить ошибку ModuleNotFoundError: no module named pyowm Python 3.7.4?

    avelecter
    @avelecter Автор вопроса
    Ivan Yakushenko, походу вы правы
    Как мне действовать дальше?
  • Как исправить ошибку ModuleNotFoundError: no module named pyowm Python 3.7.4?

    avelecter
    @avelecter Автор вопроса
    sim3x, не понимаю о чем речь, как это сделать?
  • Как исправить ошибку ModuleNotFoundError: no module named pyowm Python 3.7.4?

    avelecter
    @avelecter Автор вопроса
    Ivan Yakushenko, ConEmu (заменитель консоли винды) + Sunlime Text 3
    Устанавливал просто прописав pip install pyowm в ConEmu