Size: a a a

Сообщество Python Программистов

2021 January 21

S

Shadle in Сообщество Python Программистов
Как отправлять в aiogram dataframe? Подскажите пожалуйста
источник

А

Айван in Сообщество Python Программистов
Shadle
class Item(StatesGroup):
 item_id = State()

@dp.message_handler(commands="start", state="*")
async def name_step(message: types.Message, state: FSMContext):
   await message.answer(text='Напиши item_id ')
   await Item.item_id.set()
   


@dp.message_handler(state=Item.item_id)
async def start(message: Message, state: FSMContext) -> NoReturn:
   await state.update_data(item_id=message.text)  # тут сохраняется твой item_id
   #item = await state.get_data()
   await message.answer(text='{}'.format(get_tables(Item.item_id)), parse_mode='HTML')
if __name__ == '__main__':
   executor.start_polling(dp)

   Где get_tables(Item.item_id) это dataframe в виде 3 табличек
Почему он эти таблицы присылает толлько ком строку
а в телеге присылает None
Пробовал вместо таблиц отправлять обычный текст, он отправляет, но телеграм таблицы похоже не может прочитать?
Зачем дафтафрейму item_id? 🤔
Зачем там format. Поидее, должно отправлять тоже что и выведет: print(str(get_tables(Item.item_id)))
Может ты return забыл написать?
источник

S

Shadle in Сообщество Python Программистов
Айван
Зачем дафтафрейму item_id? 🤔
Зачем там format. Поидее, должно отправлять тоже что и выведет: print(str(get_tables(Item.item_id)))
Может ты return забыл написать?
def get_tables(item_id):
   urls = {'Azure': 'http://l2on.net/?c=market&a=item&id={}&setworld=3056'.format(item_id), 'Emerland': 'http://l2on.net/?c=market&a=item&id={}&setworld=3062'.format(item_id), 'Cherry': 'http://l2on.net/?c=market&a=item&id={}&setworld=3055'.format(item_id)}
   #servers = ['Azure', 'Emerland', 'Cherry']
   for key in urls:
       html = requests.get(urls[key]).content
       crypto_data = pd.read_html(html, encoding='cp1251', skiprows=1)
       print('\n'+key)
       print(crypto_data[0].iloc[:,1:4].head(10))
  Потому что ид нужно в эту функцию вставлять
источник

А

Айван in Сообщество Python Программистов
Shadle
def get_tables(item_id):
   urls = {'Azure': 'http://l2on.net/?c=market&a=item&id={}&setworld=3056'.format(item_id), 'Emerland': 'http://l2on.net/?c=market&a=item&id={}&setworld=3062'.format(item_id), 'Cherry': 'http://l2on.net/?c=market&a=item&id={}&setworld=3055'.format(item_id)}
   #servers = ['Azure', 'Emerland', 'Cherry']
   for key in urls:
       html = requests.get(urls[key]).content
       crypto_data = pd.read_html(html, encoding='cp1251', skiprows=1)
       print('\n'+key)
       print(crypto_data[0].iloc[:,1:4].head(10))
  Потому что ид нужно в эту функцию вставлять
Так а return есть то?
источник

S

Shadle in Сообщество Python Программистов
Айван
Так а return есть то?
def get_tables(item_id):
   urls = {'Azure': 'http://l2on.net/?c=market&a=item&id={}&setworld=3056'.format(item_id), 'Emerland': 'http://l2on.net/?c=market&a=item&id={}&setworld=3062'.format(item_id), 'Cherry': 'http://l2on.net/?c=market&a=item&id={}&setworld=3055'.format(item_id)}
   #servers = ['Azure', 'Emerland', 'Cherry']
   for key in urls:
       html = requests.get(urls[key]).content
       crypto_data = pd.read_html(html, encoding='cp1251', skiprows=1)
       
       return('\n'+key+ '\n' + str(crypto_data[0].iloc[:,1:4].head(10)))


Вот изменил теперь присылает
но присылает только одну таблицу и криво выглядит
источник

S

Shadle in Сообщество Python Программистов
Айван
Так а return есть то?
источник

S

Shadle in Сообщество Python Программистов
Наверное нужен concat
источник

S

Shadle in Сообщество Python Программистов
чтобы соединить датафрейцмы
источник

А

Айван in Сообщество Python Программистов
Shadle
def get_tables(item_id):
   urls = {'Azure': 'http://l2on.net/?c=market&a=item&id={}&setworld=3056'.format(item_id), 'Emerland': 'http://l2on.net/?c=market&a=item&id={}&setworld=3062'.format(item_id), 'Cherry': 'http://l2on.net/?c=market&a=item&id={}&setworld=3055'.format(item_id)}
   #servers = ['Azure', 'Emerland', 'Cherry']
   for key in urls:
       html = requests.get(urls[key]).content
       crypto_data = pd.read_html(html, encoding='cp1251', skiprows=1)
       
       return('\n'+key+ '\n' + str(crypto_data[0].iloc[:,1:4].head(10)))


Вот изменил теперь присылает
но присылает только одну таблицу и криво выглядит
Знаешь ведь про format. Зачем канкотенируешь? Ещё бы он не одну возвращал, ты же в цикле return поставил.
источник

I

ITFY forum informer in Сообщество Python Программистов
Новый вопрос в форуме: SyntaxError: invalid syntax
источник

S

Shadle in Сообщество Python Программистов
Айван
Знаешь ведь про format. Зачем канкотенируешь? Ещё бы он не одну возвращал, ты же в цикле return поставил.
получилось
но как выровнять таблицы?
в юпитере видно нормально а тут дичь
источник

S

Shadle in Сообщество Python Программистов
в юпитере
источник

NP

NIKITA POLETIN in Сообщество Python Программистов
Айван
То что файлы не можешь прочитать — нормально, .pyc и не для чтения редактором. Можешь игнорировать их.
.gitignore не папка а файл. Можешь скачать его шаблон для python, покроет основные файлы/папки что не должны попадать в гит. Я его сделал глобальным, чтобы в gitignore проекта только локальные файлы мог указывать.
Насчёт второго не знаю, может какой-то коммит откатил, может ещё что
Спасибо!
источник

K

KarmaBot in Сообщество Python Программистов
NIKITA POLETIN
Спасибо!
Вы увеличили карму Айван до 870.12 (+1.57)
источник

S

Shadle in Сообщество Python Программистов
Кто сталкивался с тем что в юпитере и командной строке отображение датафреймов отличается? как это исправить? примеры выше
источник

A

Alex Z in Сообщество Python Программистов
Vadim Apenko
Если -100, то не можешь писать в чате 7 дней и карма станет -80. Если ещё раз -100, то уже на месяц. Потом бан.

Чем больше кармы, тем больше вес твоего плюса или минуса. Если кармы оч много, то в два минуса можешь загнать любого новичка в РО. Тем самым совершая правосудие без админских прав
Спасибо, очень интересно!
источник

K

KarmaBot in Сообщество Python Программистов
Alex Z
Спасибо, очень интересно!
Вы увеличили карму Vadim Apenko до 4181.49 (+1.00)
источник

A

Alex Z in Сообщество Python Программистов
/!me
источник

A

Alex Z in Сообщество Python Программистов
Карма есть только в этом чате?
источник

k

krau5 in Сообщество Python Программистов
Alex Z
Карма есть только в этом чате?
Нет, еще и во всех остальных чатах, где размещен этот бот, или его аналоги
источник