Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
LazyTalent

Дмитрий

Data Engineer, Freelancer
  • 174
    вклад
  • 16
    вопросов
  • 265
    ответов
  • 37%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как записать данные в excel таблицу в нужные клетки на Python?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    import pandas as pd
    
    df = pd.read_excel('file.xlsx', engine='openpyxl')
    df = df.replace('%name%', 'John Doe')
    df.to_excel('file.xlsx', index=False)
    Ответ написан 29 мар.
    Комментировать
    Нравится Комментировать
  • Как отправить фото в телеграм через requests?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    https://core.telegram.org/bots/api#sendphoto
    Ответ написан 24 мар.
    Комментировать
    Нравится Комментировать
  • Многопоточность и Python?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    Очень подробно и понятно объяснено: Анализ данных на Python, урок №3 (параллельное про...
    Ответ написан 08 мар.
    Комментировать
    Нравится Комментировать
  • Как сделать так чтобы автоматически создавалась новая страница если записей больше 20?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    Django pagination
    Ответ написан 05 мар.
    Комментировать
    Нравится 2 Комментировать
  • Как записать list (список?) в csv файл?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    О, Луц! Как это развидеть?!
    import csv
    
    from geopy.geocoders import AlgoliaPlaces as Geo
    
    cities = ["Токио", "Лондон", "Берлин", "Череповец"]
    geo = Geo()
    
    data = []
    
    for i in cities:
            n = geo.geocode(i)
            data.append([i, n.latitude, n.longitude])
    
    with open('data.csv', 'w', newline='') as f:
            w = csv.writer(f)
            w.writerow(['city', 'lat', 'lon'])
            w.writerows(data)
    Ответ написан 05 мар.
    1 комментарий
    Нравится 3 1 комментарий
  • Как увеличить изображение до 900х1200 с помощью белых полей по краям?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    1. Создаешь новое изображение с белым фоном:
    background_img = Image.new('RGB', (target_width, target_height), color = 'white')

    2. Вставляешь свое изображение в новое
    background_img.paste(your_img, (upper_left_x, upper_left_y))
    Ответ написан 02 мар.
    3 комментария
    Нравится 1 3 комментария
  • Как на питоне интегрировать парсер в телеграмм бота?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    1. Парсер запускается по крону и сохраняет всё в ДБ
    2. Бот получает команду - читает ДБ - выдаёт информацию пользователю
    Ответ написан 21 февр.
    Комментировать
    Нравится 1 Комментировать
  • Не получается закомпилить пару строк?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    Используй для интендации табы, а не пробелы
    Ответ написан 17 февр.
    4 комментария
    Нравится 2 4 комментария
  • Как работает return и random.seed?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    Для чего нужен random.seed(x) python?
    Ответ написан 11 февр.
    1 комментарий
    Нравится 1 комментарий
  • Как получить атрибуты в requests?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    requests.post(api).json()['guild']['id']
    Ответ написан 16 янв.
    Комментировать
    Нравится Комментировать
  • Как отформатировать матрицу в Python 3?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    timetable = [i[1:2] + i[3:] for i in timetable]
    Ответ написан 02 янв.
    1 комментарий
    Нравится 2 1 комментарий
  • Как поставить после 12 символов, знак |?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    >>> s = '1232343445243524325436546753463'
    >>> '|'.join([s[i:i+12] for i in range(0, len(s), 12)])
    '123234344524|352432543654|6753463'
    Ответ написан 23 дек. 2020
    Комментировать
    Нравится Комментировать
  • Как взять min float?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    1й способ:
    min_prices = dict()
    
    for k, v in sweets.items():
        min_prices[k] = dict()
    
        for counter, i in enumerate(v):
            if counter == 0:
                min_prices[k]['price'] = i['price']
                min_prices[k]['shop'] = i['shop']
                continue
            if i['price'] < min_prices[k]['price']:
                min_prices[k]['price'] = i['price']
                min_prices[k]['shop'] = i['shop']
    
    pprint(min_prices)
    {'карамель': {'price': 41.99, 'shop': 'магнит'},
     'конфеты': {'price': 30.99, 'shop': 'магнит'},
     'печенье': {'price': 9.99, 'shop': 'пятерочка'},
     'пирожное': {'price': 59.99, 'shop': 'пятерочка'}}


    2й способ:
    min_prices = {k: min(v, key=lambda x: x['price']) for k, v in sweets.items()}
    
    pprint(min_prices)
    
    {'карамель': {'price': 41.99, 'shop': 'магнит'},
     'конфеты': {'price': 30.99, 'shop': 'магнит'},
     'печенье': {'price': 9.99, 'shop': 'пятерочка'},
     'пирожное': {'price': 59.99, 'shop': 'пятерочка'}}
    Ответ написан 17 дек. 2020
    Комментировать
    Нравится 2 Комментировать
  • Как авторизоваться через python?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    import requests
    
    r = requests.get(f'https://{username}:{password}@domain.com')
    Ответ написан 25 нояб. 2020
    Комментировать
    Нравится Комментировать
  • Поможете с регулярными выражениями?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    1. Переопределять стандартные модули/функции не очень хорошая идея.
    2. `stringand` - что это такое?
    3. Кто-то запутался в скобках
    4. `[0-9]\w` - чтобы вот это сработало, то строка дб например такой: "Ab1somethingelsehere"
    Ответ написан 12 окт. 2020
    Комментировать
    Нравится Комментировать
  • Знак >>> в коде Python. Что это?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    5f5a632d0b154651479533.gif
    Ответ написан 10 сент. 2020
    Комментировать
    Нравится 3 Комментировать
  • Как грамотно сделать (парсинг)?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    Я бы это в ООП переписал, как-то так (Обязательно добавить обработку ошибок!!!):
    class Alrosa:
        def __init__(self, page_source: str):
            self.html = BeautifulSoup(page_source, 'html.parser')
    
        @property
        def citylist(self) -> List[str]:
            return self._get_elements('.city')
    
        @property
        def pricelist(self) -> List[str]:
            return self._get_elements('.price')
    
        @property
        def linkdeplist(self) -> List[str]:
            elems = self._get_elements('.button a')
            return [i.get('href') for i in elems]
    
        def _get_elements(self, selector: str) -> List[str]:
            return [elem for elem in self.html.selector(selector)]
    
        def to_string(self, i: int) -> str:
            return f'Маршрут: {self.citylist[i]}. Цена: {pricelist[i]}. Ссылка-{linkdeplist[i]}'
        
        
    def get(url: str, headers: Dict[str, str]) -> requests.Response:
        return requests.get(url, headers=headers)
    
    r = get(url, headers)
    alrosa = Alrosa(r.content)
    for i in range(len(alrosa.citylist)):
        print(alrosa.to_string(i))
    Ответ написан 28 авг. 2020
    5 комментариев
    Нравится 1 5 комментариев
  • Как записать отдельно значения из массива в json файл?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    >>> songs_titles = ['Песня1.mp3', 'Песня2.mp3', 'Песня3.mp3']
    >>> songs = [{'title': s, 'file': f'https://site.com/{s}'} for s in songs_titles]
    >>> songs
    [{'title': 'Песня1.mp3', 'file': 'https://site.com/Песня1.mp3'}, {'title': 'Песня2.mp3', 'file': 'https://site.com/Песня2.mp3'}, {'title': 'Песня3.mp3', 'file': 'https://site.com/Песня3.mp3'}]
    Ответ написан 14 авг. 2020
    Комментировать
    Нравится 1 Комментировать
  • Как получить дочерние элементы исключая их вложенные элементы в Selenium?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    find_elements_by_xpath
    Ответ написан 11 авг. 2020
    2 комментария
    Нравится 2 2 комментария
  • Как достать значение с помощью регулярных выражений?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    >>> import re
    >>> s = """'#9f8757'
    ... '#d59005']
    ... '#edf8f0'
    ... '#77d525'
    ... '#C36728'
    ... ['#e1331b'
    ... '#b97601'
    ... '#aa9169'
    ... '#55672b'
    ... '#2684a6'
    ... '#e5d5bc'"""
    >>> sl = re.findall(r"'(#.+)'", s)
    >>> sl
    ['#9f8757', '#d59005', '#edf8f0', '#77d525', '#C36728', '#e1331b', '#b97601', '#aa9169', '#55672b', '#2684a6', '#e5d5bc']
    Ответ написан 02 авг. 2020
    Комментировать
    Нравится Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Следующие →
Самые активные сегодня
  • sergiks
    Сергей Соколов
    • 8 ответов
    • 0 вопросов
  • yupiter7575
    • 6 ответов
    • 0 вопросов
  • wppanda5
    WP Panda
    • 6 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 5 ответов
    • 0 вопросов
  • Jump
    АртемЪ
    • 5 ответов
    • 0 вопросов
  • NikaMyaso
    Ника Мясо
    • 4 ответа
    • 1 вопрос
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации