Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 14, 2018 14:29:51

kriks
Зарегистрирован: 2017-08-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно разбить сообщение на python и записать в базу данных.

Всем привет.
Не так давно начал изучать Питон и на нем потихоньку писать.
Пришла ко мне одна хорошая мысль написать домашнего бота Телеграм.
Бот выполняет различные функции мониторинга и управления.
Задался вопросом.
Как отформатировать полученное сообщение на Питоне.
Для примера строка сообщения содержит такой вид:
1,2,3,4,5
Как правильно разбить это сообщение на цифты и эти цыфры записать в переменные.
Далее хочу эти цифры заносить в базу данных.

Офлайн

#2 Янв. 14, 2018 14:53:19

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Как правильно разбить сообщение на python и записать в базу данных.

 >>> a = '1,2,3,4,5'
>>> print(a.split(','))
['1', '2', '3', '4', '5']
учтите что 1,2,3,4,5 это строка и в списке тоже строки из цифр

Офлайн

#3 Янв. 14, 2018 14:56:27

kriks
Зарегистрирован: 2017-08-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно разбить сообщение на python и записать в базу данных.


marvellik
Спасибо. Попробую.

Офлайн

#4 Янв. 14, 2018 15:12:28

kriks
Зарегистрирован: 2017-08-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно разбить сообщение на python и записать в базу данных.

По строкам разбивает.
Результат:

 text = message.text
bot.send_message(message.chat.id, "Результат: "+str(text.split(","))+"", None)

А вот как полученные данные u'1', u'2', u'3', u'4' разобрать на блоки и записать данные в эти блоки.

Офлайн

#5 Янв. 14, 2018 15:52:11

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Как правильно разбить сообщение на python и записать в базу данных.

а зачем str(text.split(“,”))?
дело в том что text.split(“,”) даст вам список из элементов текста разделенных по запятой

 >>> а = text.split(",") 
>>> print(type(a.split(',')))
<class 'list'>
>>> print(type(str(a.split(','))))
<class 'str'>
а ваш результат будет строкой то есть
 "['1', '2', '3', '4', '5']"
вместо списка
 ['1', '2', '3', '4', '5']
обрабатывайте каждый блок в цикле
 >>> a = '1,2,3,4,5'
>>> for blok in a.split(','):
	print('blok', blok)# тут функция обработки записи блока вместо вывода на экран
	
blok 1
blok 2
blok 3
blok 4
blok 5

Отредактировано marvellik (Янв. 14, 2018 15:53:04)

Офлайн

#6 Янв. 14, 2018 15:57:56

kriks
Зарегистрирован: 2017-08-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как правильно разбить сообщение на python и записать в базу данных.

Большое спасибо. Все получилось.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version