• Делаю команду бан в python - VK, так вот, как читать из txt все айди, и смотреть ни он ли написал в беседе?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    вытаскиваем все id из txt в список.
    сравниваем id написавшего со списком.
    например:
    Есть txt.txt файл с id:
    1561561
    6516515
    3737683
    5679446
    9844310
    1529674
    2629845

    Читаем из файла, собираем в список и сравниваем vkid(тут уж сами вытаскивайте, не знаю как, с vk api не работал) написавшего со списком, а в if делаете бан или что там нужно.
    vkid = '5679446'
    banlist = []
    with open('txt.txt') as f:
        for x in f:
            banlist.append(x.strip())
    if vkid in banlist:
        print('BAN')
    Ответ написан
    Комментировать
  • Как передать значение переменной в содержимое под условным оператором ветвления if в python?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Всё нормально отрабатывает
    5c5c19f6004b3716206793.png

    И кстати, вместо
    score = score + 1
    score = score - 1

    Правильнее использовать
    score += 1
    score -= 1
    Ответ написан
  • Как в Exel вывести результаты условия в отдельную колонку?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    5c5b0396dd85a299059694.png
    Формулы для H3 I3 J3 K3 соответственно
    =ЕСЛИ(И(B3<C3;B3<D3;B3<E3);B3;"")
    =ЕСЛИ(И(C3<B3;C3<D3;C3<E3);C3;"")
    =ЕСЛИ(И(D3<B3;D3<C3;D3<E3);D3;"")
    =ЕСЛИ(И(E3<B3;E3<C3;E3<D3);E3;"")

    и протянуть их вниз. И можно добавить условия, если поставщиков больше.
    файл: https://yadi.sk/i/oaPvsCK3l73RGw
    Ответ написан
    1 комментарий
  • Как выделить цветом строки для каждой отдельной даты?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Используем 2 формулы. для четных и нечетных дней:
    =И(ОСТАТ($A1;2)=1;ДЛСТР($A1)>0)
    =И(ОСТАТ($A1;2)=0;ДЛСТР($A1)>0)

    Как использовать:
    выделяем необходимые столбцы, которые нужно раскрасить
    жмем Условное форматирование - Создать правило
    Выбираем раздел "Использовать формулу для определения форматируемых ячеек"
    Вставляем формулу туда.
    Вместо $A1 можно указать необходимую ячейку по которой будет определяться раскраска.
    ДЛСТР($A1)>0 необходимо чтобы не закрашивать пустые ячейки, поэтому можно выделить прямо столбцы целиком, а не определенный диапазон.
    На каждую формулу ставить необходимое форматирование.
    можно использовать только одну формулу, тогда будет закрашиваться только четные(или нечетные) строки.
    Скрины
    5c376fbaedcbd017940980.png5c376fc1e0152582985895.png5c376b8369f53719129542.png
    Ответ написан
    4 комментария
  • Как найти все почтовые адреса посредствам регулярных выражений?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Ответ написан
    Комментировать
  • Как написать выражение в Python?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    не знаю что у вас значит [поле значений] но вот:
    density = ''
    if a < 100:
        density = 'low'
    elif a < 300:
        density = 'medium'
    else:
        density = 'high'
    Ответ написан
    Комментировать
  • Как очистить значения других ячеек при очистке ячейки в ms excel?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    А принципиально на delete?
    Можно сделать так:
    Sub del()
        Dim row As String
        row = ActiveCell.row
        Range("H" & row).Select
        Selection.ClearContents
        Range("Q" & row).Select
        Selection.ClearContents
        Range("A" & row).Select
        Selection.ClearContents
    End Sub

    После этого делаем назначение макроса например на Ctrl+k и нажимать эту комбинацию вместо delete. В макросе специально сделал сначала очистку ячейки в столбце "H" и "Q", а потом только в столбце "A". Это для того чтобы после выполнения макроса курсор был в столбце "A".
    Ответ написан
  • Как исправить ошибку при выполнений условий? VBA, Excel?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Код ошибок не выдает, однако не выполняет условия.
    вот например рабочий вариант у меня получился, однако в одном месте ты берешь значение ячейки и туда же вставляешь, что непонятно зачем(я отметил (???))
    Sub perebor()
        Dim i As Long
        Dim j As Long
        Dim bh As Range
        Set wbs = ThisWorkbook.Worksheets("table1")
        Set WBT = ThisWorkbook.Worksheets("mnd")
        i = 3
        j = 9
            For Each bh In wbs.Range("M3:M11")
                'белый -- 16777215
                'серый -- 13421772
                ' зеленый --  5880731
                ' оранжевый -- 4626167
                mcolor = wbs.Cells(i, 13).Interior.Color
                ncolor = wbs.Cells(i, 14).Interior.Color
                If ncolor = 16777215 And mcolor = 5880731 Then
                        j = j - 1
                        wbs.Cells(i, 14).Value = WBT.Cells(j, 1).Value
                        wbs.Cells(i, 15).Value = WBT.Cells(j, 1).Value
                        wbs.Cells(i, 14).Interior.Color = WBT.Cells(j, 1).Interior.Color
                        wbs.Cells(i, 15).Interior.Color = WBT.Cells(j, 1).Interior.Color
                ElseIf ncolor = 13421772 Then
                    wbs.Cells(i, 14).Value = wbs.Cells(i, 14).Value '(???)
                End If
                i = i + 1
            Next bh
    End Sub
    Ответ написан
  • Как правильно написать запрос?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    import requests
    
    url = "https://mysite.com/5"
    
    querystring = {"embed":"1%20HTTP/1.1"}
    
    headers = {
        'Host': "t.me",
        'Connection': "keep-alive",
        'Upgrade-Insecure-Requests': "1",
        'User-Agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36",
        'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
        'Referer': "https://mysite.com",
        'Accept-Encoding': "gzip, deflate, br",
        'Accept-Language': "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
        'Cookie': "_ga=GA1.2.1169963389.1523803584; stel_web_auth=https%3A%2F%2Fweb.telegram.org%2F; stel_ssid=31dffdd3cd3dca265d_2963das1217952533; _gid=GA1.2.1199944186.1524831182",
        'Cache-Control': "no-cache",
        'Postman-Token': "930f1009-7e5f-436e-9b5f-da372e57ac8c"
        }
    
    response = requests.request("GET", url, headers=headers, params=querystring)
    
    print(response.text)

    Есть такая штука, как Postman в ней можно тестировать запросы. одна из фишек - генерация кода на различный лад, в том числе и Python requests. не советую прям яро оттуда всё брать, но для понимания как и что может помочь.
    Ответ написан
    1 комментарий
  • Как организовать хранение путей для json-файла?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    json = {'data':{'variables':{'startupProcessInfo':{'iin': 'first'}}, 'piid': 'second', 'executionState': 'third', 'creationTime': 'fourth'}}
    path_arr = ["['data']['variables']['startupProcessInfo']['iin']",
             "['data']['piid']",
             "['data']['executionState']",
             "['data']['creationTime']"]
    
    for x in path_arr:
        json_iter = json
        path = x[2:-2].split("']['")
        for p in path:
            json_iter = json_iter[p]
        print(json_iter)

    Вывод:
    ========================== RESTART: E:/Python/1.py ==========================
    first
    second
    third
    fourth

    Как пример. изменить можешь на свой код. вот тут я спрашивал как строку передать как путь.
    Ответ написан
    Комментировать
  • Как лучше писать на python под android?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Ответ написан
    Комментировать
  • Как сделать сводную таблицу из 2х листов в гугл таблцах?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Нет, невозможно. но можно написать скрипт, который по нажатию кнопки будет из двух листов сливать все данные на третий и уже по нему делать сводную таблицу на четвертом листе.
    Ответ написан
  • С чего начать изучение Excel VBA?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Я бы не стал вообще его именно изучать. Никогда ранее не пользовался VBA, но на работе необходимо было написать несколько макросов. Немного гугл и готово. Но чтоб изучать... Нет, не советую.
    Ответ написан
    1 комментарий
  • Как выгрузить список подписчиков инстаграм в excel?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Есть много сайтов которые собирают статистику с аккаунтов. Поищите по фразе в гугл "анализ Instagram" там найдёте где будет список подписчиков и их можно будет просто скопипастить.
    Если это не устраивает и есть небольшие навыки в программировании, то можно написать простой скрипт или клиент который по api Instagram вытащит нужную информацию.
    Ответ написан
    Комментировать
  • Преобразование даты из ISO8601?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    from datetime import datetime
    import pytz
    
    date = '2017-08-01T23:14:41+03:00'# Входная дата-время
    dateISO = date[:-5]+date[-5:].replace(':','')# Приводим к формату 2017-08-01T23:14:41+0300
    utc = datetime.strptime(dateISO, '%Y-%d-%mT%H:%M:%S%z')# Переводим строку в datatime
    localFormat = "%Y-%m-%d %H:%M:%S%z"# Формат вывода даты и времени(часовая зона "%z" оставлена для наглядности)
    timezones = ['Africa/Abidjan', 'Antarctica/Vostok']# Первая таймзона +00:00, вторая +06:00(что на 3 часа больше, судя по задаче)
    print(utc.strftime(localFormat))# Вывод входной даты и времени
    for tz in timezones:# Вывод даты и времени в другом часовом поясе
        localDatetime = utc.astimezone(pytz.timezone(tz))
        print(localDatetime.strftime(localFormat))

    Вывод:
    2017-01-08 23:14:41+0300
    2017-01-08 20:14:41+0000
    2017-01-09 02:14:41+0600
    Ответ написан
    Комментировать
  • Поиск для небольшого Django приложения?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    У меня так же не очень популярен поиск на сайте. использую django-watson. вполне неплохо справляется.
    Ответ написан
    Комментировать
  • The OAuth client was not found.?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Я вот так читаю таблицы ГД(в импортах может быть лишнее, просто удалил свой код):
    from __future__ import print_function
    import httplib2
    import os
    import configparser as cfg
    import requests
    from apiclient import discovery
    import oauth2client
    from oauth2client import client
    from oauth2client import tools
    
    try:
    	import argparse
    	flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
    except ImportError:
    	flags = None
    
    SCOPES = 'https://www.googleapis.com/auth/spreadsheets'
    CLIENT_SECRET_FILE = 'client_id.json'
    APPLICATION_NAME = 'APPLICATION_NAME'
    config = cfg.ConfigParser()
    config.read('Config.ini', encoding='utf_8') # чтение конфиг файла
    GDURL = config['DEFAULT']['GDURL'] # ссылка на ГД
    RangeName = config['DEFAULT']['RangeName'] # Название листа в ГД
    
    
    def get_credentials():
    	home_dir = os.path.expanduser('~')
    	credential_dir = os.path.join(home_dir, '.credentials')
    	if not os.path.exists(credential_dir):
    		os.makedirs(credential_dir)
    	credential_path = os.path.join(credential_dir, 'sheets.googleapis.com-python-quickstart.json')
    	store = oauth2client.file.Storage(credential_path)
    	credentials = store.get()
    	if not credentials or credentials.invalid:
    		flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
    		flow.user_agent = APPLICATION_NAME
    		if flags:
    			credentials = tools.run_flow(flow, store, flags)
    		else: # Нужно для Python 2.6
    			credentials = tools.run(flow, store)
    		print('Storing credentials to ' + credential_path)
    	return credentials
    
    
    def main():
    	requests.packages.urllib3.disable_warnings()
    	credentials = get_credentials()
    	http = credentials.authorize(httplib2.Http())
    	discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?'
    					'version=v4')
    	service = discovery.build('sheets', 'v4', http=http, discoveryServiceUrl=discoveryUrl)
    	spreadsheetId = str(GDURL).split('/')[5]
    	result = service.spreadsheets().values().get(
    		spreadsheetId=spreadsheetId, range=RangeName).execute()
    	values = result.get('values', [])
    
    	if not values:
    		print('Нет данных')
    	else:
    		# здесь мой код
    
    
    if __name__ == '__main__':
    	main()
    Ответ написан
    Комментировать
  • Как сделать редирект в зависимости от языка браузера?

    Dr_Elvis
    @Dr_Elvis Автор вопроса
    В гугле забанен
    Сделал так:
    map $http_accept_language $lang {
        default en;
        ~ru ru;
        ~uk ru;
        ~be ru;
        ~kk ru;
        ~mo ru;
        ~ka ru;
        ~et ru;
        ~bg ru;
        ~az ru;
    }
    ...
    server {
        listen 80;
        listen [::]:80;
    
        root /home/site/www/site.net;
        index index.php index.html index.htm index.nginx-debian.html;
    
        server_name site.net www.site.net;
    
        location = / {
    	if ($lang = 'ru') {
    		rewrite (.*) http://ru.site.net;
    		}
    	rewrite (.*) http://en.site.net;
    	}
    
    	location / {
            try_files $uri $uri/ =404;
        }
    
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
    Ответ написан
    Комментировать