(Телеграм-бот на Python) Как прочитать/извлечь документ с помощью telegram-бота без загрузки документа?

#python #telegram #telegram-bot

Вопрос:

В настоящее время следующий код загрузит документ, отправленный пользователем боту telegram.

 def downloader(update: Update, context: CallbackContext):  with open(f"{update.message.from_user['id']}.xlsx", 'wb') as f:  context.bot.get_file(update.message.document).download(out=f)  

Можно ли прочитать/извлечь содержимое документа без необходимости загружать документ через telegram и затем немедленно хранить его в базе данных?

 if Update.message.document is True:  user_id = Update.message.from_user['id']  df_xlsx = pd.read_excel(f'{user_id}', header=0)  print(df_xlsx)  # Updates sql database from xlsx  with conn:  c.execute(f"""CREATE TABLE IF NOT EXISTS {user_id} (  Exercise,  Sets,  Reps,  Intensity,  Load,  Tempo,  Rest  )""")  df_xlsx.to_sql(f'{user_id}', conn, if_exists='append', index=False)  

В настоящее время мое решение состоит в том, чтобы прочитать csv-файл из Google листов, используя requests , как показано ниже.

 def handle_message(update: Update, context: CallbackContext):  csv_url = update.message.text  res = rs.get(url=csv_url)  

Комментарии:

1. Как вы думаете, как вы достигнете того, о чем заявили? Читать без загрузки? Лучшее, что вы можете сделать, — это сначала загрузить его, прочитать и записать в базу данных, а затем удалить. Например, вам нужен только предварительный просмотр, затем вы загружаете первые несколько байтов с начала и показываете только этот фрагмент (который является предварительным просмотром, а не полными данными).