Задать вопрос
  • Вывод количества рефералов, ЧЯДНТ?

    @o5a
    Straxd, это просто sqlite позволяет такие вольности там, где не может быть двузначности: при insert явно идут названия таблиц и полей, там не может быть текстовых строк. Поэтому и работает.
    Но лучше вообще эти одинарные кавычки не использовать даже там.
  • Как получить ссылку на объект по его атрибуту?

    @o5a
    Span4ev, у Вас получился хороший пример XY problem, как не надо задавать вопросы: "Как мне укрепить микроскоп, чтобы он не ломался, когда я забиваю им гвозди" ;)

    Хорошо хоть в конце описали свою изначальную задачу - "Отсортировать список с объектами". Так что на будущее лучше старайтесь сначала описать изначальную проблему, которую нужно решить, а потом уже свои (возможно неправильные) методы решения.
  • Как сделать так, чтобы бот отвечал на команду start?

    @o5a
    meburka, судя по всему, установили библиотеку telebot вместо нужной.
    pip uninstall telebot
    pip install pytelegrambotapi
  • Преобразовать из xls в csv python?

    @o5a
    fastym, В самом CSV нет "странных символов". Какую кодировку указывают при сохранении, в той, он и сохраняется.
    Просто если пытаетесь открыть сохраненный CSV через Excel, то учитывайте, что русская версия Excel пытается открыть в кодировке Windows-1251, поэтому Ваш UTF-8 и выглядит как "странные символы".
    как-то так видимо?
    проверка работы

    Но это не значит, что CSV кривой. Это проблема того, что программа, в которой открываете, пытается отобразить в неродной кодировке.

    Если хотите "правильного" отображения именно в Excel, то сохраняйте в кодировке Windows-1251.
  • Почему не записываются данные в бд SQLITE?

    @o5a
    Ипатьев, В SQL как правило указанные без кавычек названия идентификаторов автоматом приводятся к одному регистру, и так уже запрашиваются в базе (например, в Postgres - к нижнему, в Oracle - к верхнему).
    Поэтому если в Pg создать таблицу
    create table UsERs
    то в базе она создастся как users и обращаться к ней надо соответствующе:
    или
    select * from "users"
    или же без кавычек, тогда не важен регистр (т.к. запрос названия без кавычек автоматом конвертирует в "базовый" регистр, хотя бы так
    select * from UsERs
    И при этом нельзя к ней обратиться по явному верхнему регистру, т.к. по факту таблица именно "users".
    select * from "UsERs"
    вызовет ошибку

    Но если таблица создана с явным указанием регистра
    create table "UsERs"
    То обращаться к ней без кавычек уже не получится, только
    select * from "UsERs"

    Про SQLite я честно не уточнял, если так, значит он действительно регистронезависим, и к нему это не применяется. Я скорее говорил про общие принципы SQL баз.
  • Почему не записываются данные в бд SQLITE?

    @o5a
    mrcoldurfuck, если в названиях таблиц/полей не используете верхний регистр, то кавычки там вообще не нужны, чтобы себя не путать, просто пишите их обычным текстом, т.е.
    SELECT money FROM users WHERE user_id = ?

    Кавычки (именно двойные - ") или ` используются из-за того, что SQL регистрозависим, и если явно обзывать таблицу в верхнем регистре, то обращаться нужно четко по имени, для этого и используются кавычки.

    Т.е. если создать таблицу
    CREATE TABLE "Users"

    То при попытке обратиться
    SELECT FROM users
    получим ошибку, т.к. таблицы "users" нет, надо будет писать
    SELECT FROM "Users"
  • Как исправить ошибку вывода данных из Python в Word (docx)?

    @o5a
    RNIKROBOT, 4 параметра потому, что для методов класса первым передается сам экземпляр класса, self, соответственно с Вашими тремя и получается четыре.
    В вашем случае вообще нужен только 1 параметр - сам текст, так что нужно было из данных просто собрать одну строку, например так
    para3=doc.add_paragraph(f'Тогда взлетная масса первого приближения будет: m0={m0} кг')
  • Почему не копируется список внутри класса?

    @o5a
    Span4ev,
    item.open_items = ['item 1', 'item 2']
    Значит я всё таки перезаписываю атрибут класса - open_items?
    Если обращаясь к item.open_items я получаю не пустой список, а sorted_items является ссылкой на open_items. И даже если бы атрибут open_items ссылался на какой-то объект в памяти, отчего тогда sorted_items не ссылается на тот же объект через open_items?

    Изначально оба списка ссылались на один и тот же объект в памяти - этот пусто список []
    self.open_items         = []
    self.sorted_items_2     = self.open_items

    Но после
    item.open_items = ['item 1', 'item 2']
    это изменилось, и open_items стал ссылаться уже на новый объект.
    А sorted_items2 так и остался ссылаться на изначальный пустой список.
    Чтобы не менять привязку к изначальному объекту в памяти, можно было или использовать append, или именно изменить элементы самого списка (а не создавать новый) например так:
    item.open_items[:] = ['item 1', 'item 2']

    С учетом описанной задачи (есть изначальный список, который меняется и из которого потом нужно сформировать сортированный), лучше сделать примерно так (сортированный список просто берем из актуального состояния изначального списка):
    class Items:
    
        def __init__(self):
            self.open_items         = []
    
        @property
        def sorted_items(self):
            # выдаем результат фильтрации/сортировки из данных самого списка
            # для примера просто обратная сортировка
            return sorted(self.open_items, reverse=True)
    
    item = Items()
    item.open_items = ['item 1', 'item 2']
    
    print(item.open_items)
    print(item.sorted_items)
  • Как удалить строку из массива не обладая ID, JSON?

    @o5a
    Durov90, может стоит подучить базовые основы языка? С чего вдруг
    del data[2]
    будет удалять по значению ключа, да еще и вложенному? Если Вы такое пишете, срочно бросайте ботов и читайте учебник.
  • Python sqlite3 как избежать ошибку?

    @o5a
    А что мешало это условие сразу включить в запрос?
    row = cursor.execute("SELECT * FROM moderations WHERE guild_id=? AND name='ban'", (1,  ))

    или параметром, если нужно
    row = cursor.execute("SELECT * FROM moderations WHERE guild_id=? AND name=?", (1,  'ban'))
  • Что делать, если бот, загруженный на платформу, не видит таблиц в базе?

    @o5a
    Борис Алексеев, судя по описанию автора, так и есть.
    yoyoyoyoYOO, в своего бота добавьте инициализацию базы (создание всех нужных таблиц), или же вместе со скриптами базы кладите на сервер и сам файл базы *.db
  • Как добавить нули перед целыми числами?

    @o5a
    Span4ev, Так а куда Вы это форматирование пихаете? Вставляйте как раз в свою питоновскую get_time
    return f'{self.hour:02}', ...
  • Где ошибка в коде?

    @o5a
    Как многие подобные API, он требует авторизации
    https://bittrex.github.io/api/v1-1/doc.html#authen...
    Без авторизации он выдает не json, а страницу с ошибкой (можно и самому увидеть, если открыть ссылку из кода в браузере).
    Т.е. если вкратце, то нужно зарегистрироваться на сайте, получить токен (API key), и по указанному в документации способу сформировать сообщение, а не просто так получить ссылку.
  • При запросе в SQL таблицу, хочу имя интересующего столбца передать переменной, как правильно сделать это?

    @o5a
    DarkiDeuce, через форматирование строки можно подставлять имя столбца и оно будет работать. Но как Вы сами заметили, в нормальной базе такого быть не должно. Эти Ваши подставляемые названия полей по-хорошему должны быть значениями фиксированных полей.
    Как именно менять это уже от задачи зависит. Но могу привести пример.
    Допустим, вы в своей таблице event заводите разные поля под каждый регион:
    event(event_id, event_name, KGL, PGL, MLG, ... )
    Соответственно чтобы выбрать значения приходится прибегать к таким подстановкам названий полей.
    Но вместо этого лучше делать фиксированное поле, которое будет указывать нужное нам значение региона, например region. Т.е. таблица
    event(event_id, event_name, region, value)
    Соответственно для выбора значения события региона KGL будет применяться уже нормальный запрос
    region = "KGL"
    cur.execute("SELECT value FROM event WHERE region = ?", [region, ])
  • Как конвертировать csv в xlsx на python?

    @o5a
    Данил noname, возможно еще неправильно указали разделители (sep=",").
    В русской версии Excel по умолчанию в CSV разделителем является не запятая, а точка с запятой.
    Если указать не тот разделитель, как раз может получиться похожая ситуация. Проверьте точно, какие в файле используются.
  • Работа с Pandas. Почему в Excel не передаются данные из db?

    @o5a
    Вадим Жолудев, при таком соединении таблиц (без join, без условий полей) если хотя бы одна из указанных таблиц пустая, то и вся выборка будет пустая, что Вы и видите в результате.
    Чаще всего такую выборку всего подряд в одну кучу не делают. Но если все-таки действительно нужно получить все подряд, даже при пустых таблицах, то нужно использовать left join (для пустой таблицы, в таком случае в выборке "занулятся" только колонки этой таблицы, а не все данные).
    Почитайте подробнее про способы соединения таблиц в SQL (поиском "SQL join", "SQL объединение таблиц").

    Но судя по названиям таблиц больше похоже, что они у Вас и не связаны между собой логически, так что пихать их в одну выборку и смысла не имеет. Скорее всего Вам нужно делать отдельные выборки логически связанных данных. В объединении таблиц обычно используются те, которые связаны по полям (как в моем примере - поле user_id из таблицы users и orders совпадает, создано для связи между ними). Если же между таблицами (commands, cats) никакой связи реально нет, то бессмысленно их пихать в одну выборку.
  • Как получить кол-во атрибутов класса и передать атрибуты в словарь?

    @o5a
    Span4ev, по поводу другой части вопроса
    3. И самое важное и наглое - возможно ли это синхронизировать, чтобы когда цикл перебирал ключи, я использовал "Имя" вместо "Name", "Возраст" вместо "Age". Я не знаю, это нужно в методах класса будет прописывать условия и как-то это возвращать? Я просто не знаю, так бы вы сделали.

    Никто не запрещает использовать свои названия для атрибутов класса
    class Person:
        def __init__(self, name, age):
            self.Имя = name
            self.Возраст = age

    (хотя обычно использование кириллицы в именах переменных не поощряется)

    Можно задать словарь соответствий кириллическим именам (из Вашего же примера):
    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
    translation = {
        "name": "Имя",
        "age": "Возраст"
        }
    
    anna = Person('ANNA', 16)
    
    # вместо названия ключа ищем его кириллическое соответствие в нашем "словаре"
    b = {translation.get(key, key):value for key, value in anna.__dict__.items()}
    n = len(anna.__dict__)
    
    print(b)
    print(n)


    Но вообще это все методы не учитывают возможностей самого Renpy, я например сам Renpy и его возможности не знаю, возможно там уже есть базовые возможности для того, что пытаетесь реализовать. Вам стоит прочитать полную документацию.
  • Sqlite3.ProgrammingError?

    @o5a
    mynickandmyname, конкретно в данном куске кода проблема не в создаваемом тут соединении и курсоре, а именно в использовании постороннего курсора qwe из какого-то другого потока:
    minesmscid = qwe.fetchone()[0]
    Причем судя по коду, больше похоже на ошибку копипасты и здесь предполагался все-таки локальный курсор
    minesmscid = cur.fetchone()[0]
  • Как работают базы данных?

    @o5a
    Laginatory, На одном сервере БД можно создавать несколько баз данных, каждую под свои нужды/под свой проект.
    Соответственно каждый проект будет работать со своей базой.
    Если я правильно понял, о чем пытаетесь спросить.
  • Как сделать так чтобы в модуле turtle текст пропадал через несколько секунд?

    @o5a
    Денис Доценко, насколько знаю, в turtle нет встроенной возможности именно через некоторое время удалять текст.
    Но есть возможность удалить нарисованное через turtle.clear()
    Так что можете под нужный текст выделять отдельный экземпляр turtle, рисовать им, и по таймеру его очищать.