data = dict()
for row in csv_reader:
page = row['page']
event_date = row['date'][:-3]
device_kind = row['device']
device_dict = data.setdefault(device_kind, {})
date_dict = device_dict.setdefault(event_date, {})
date_dict[page] = date_dict.setdefault(page,0) + 1
print(data)
cursor.execute("DROP TABLE ...")
cursor.execute("CREATE TABLE IF EXISTS ... ")
db = dataset.connect(url='postgresql://postgres:admi@localhost/data')
table.create_column('user', db.types.text)
table.insert({'user':"new_user_name"})
table.find(user="user_name")
table.count(user="user_name")
# выкидываем проверку клавиши, оставляем только само действие
def right(event):
print('right')
turtle.right(45)
# затем назначаем стрелке вправо нашу функцию
root.bind('<Right>', right)
# полностью убираем весь цикл while True, вместо него используем
root.mainloop()
if a[0] == "о"
a.starswith("о")
a.replace('о', ' ')
заменит букву на пробел, а в описании написано "удалить", обычно под этим понимается замена на пустую строку, т.е. a.replace('о', '')
a.replace("о", "", 1)
getting_api.users.get(user_ids=from_id > 0)[0]
getting_api.users.get(user_ids=True)[0]
# после создания нашего PS
canvas.postscript(file="my_dram.ps", colormode="color")
# преобразовываем в PNG
from PIL import Image
img = Image.open("my_dram.ps")
img.save("my_dram.png", "png")
# пример был для sqlite, но принцип одинаков
class DataBase():
def __init__(self, database_name):
self.conn = sqlite3.connect(database_name)
self.cursor = self.conn.cursor()
def commit(self):
self.conn.commit()
def close(self):
self.conn.close()
# затем создаем один раз объект-соединение и с ним уже работаем
db = DataBase('...')
c = db.cursor
c.execute('CREATE TABLE ...)')
c.execute('INSERT INTO TABLE ...)')
db.commit()
# где нужно используем один и тот же объект-соединение
cur_path = cur_path.joinpath(...
c.execute(f"UPDATE brothers SET ves=ves+500 WHERE name = ?", (user[0], ))
owm=pyowm.OWM('ххх')
from pyowm.utils.config import get_default_config
config_dict = get_default_config()
config_dict['language'] = 'ru'
owm=pyowm.OWM('xxx', config_dict)
def takeCSV():
global pat
pat = filedialog.askopenfilename(filetypes = (("CSV Files","*.csv"),))
root.title(f'file at {pat}')
def runCheck():
global pat
if pat != '':
os.system(f'start {pat}')
....
# и убрать параметр pat
bCheck = Button(text='check', command=runCheck)
def takeCSV():
root.filename = filedialog.askopenfilename(filetypes = (("CSV Files","*.csv"),))
root.title(f'file at {root.filename}')
def runCheck():
if root.filename:
os.system(f'start {root.filename}')
....
# и тоже убрать параметр pat
bCheck = Button(text='check', command=runCheck)
# проходим по словарю с фамилиями
for key, value in rating.items():
rating_cources = value
# и по ключу из первого словаря берем значения из второго
percent_cources = percents.get(key)
layout += f'{rating_cources} {percent_cources}%\n'
@bot.message_handler(commands = ['info'])
def send_info(message):
bot.send_message(message.chat.id, f'data={data}')
import datetime
dat = {21: 'data', 11: 'HI', 2: ' Join', 424: 'teg42 '}
today = datetime.date.today()
dat = {today+datetime.timedelta(days=k):v for k,v in dat.items()}
print(dat)