Уведомления

Группа в Telegram: @pythonsu

#1 Июль 4, 2019 11:37:48

y_starynets
Зарегистрирован: 2019-04-11
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужно правильно записать в БД

На выходе получаю вот такой список, подскажите пожалуйста как можно 20190329 перенести на 1 позицию. То есть что бы было вот так ('20190329', ). И как сделать правильно запись в базу? Выдает ошибку not enough arguments for format string.

 [(['00:00:00', '445.011'], '20190329'), (['00:00:01', '965.649'], '20190329'), (['00:00:02', '461.963'], '20190329'), (['00:00:03', '492.741'], '20190329')

Код
 with open('20190329.txt', 'r') as f:
    content=[s.split() for s in f]
    #a, b=zip(*content)
    #print(a); print(b)
ccc = f.name
print(ccc)
ds = os.path.splitext(ccc)[0]
cd = list (zip(content, itertools.repeat(ds)))
print(cd)
bd = type(content)
print(bd)
conn = MySQLdb.connect()
cursor = conn.cursor()
stmt = "INSERT INTO Vaza (Time, Nom, Date) VALUES (%s, %s, %s)"
cursor.executemany(stmt, cd)
conn.commit()
conn.close()

Офлайн

#2 Июль 4, 2019 12:33:05

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Нужно правильно записать в БД

Вам надо что бы в cd был список списков вида

 [['00:00:00', '445.011', '20190329'], ... ]



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июль 4, 2019 12:34:30

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Нужно правильно записать в БД

Хотя бы так

 ds = os.path.splitext(ccc)[0]
with open('20190329.txt', 'r') as f:
    content=[s.split() + [ds] for s in f]



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Июль 4, 2019 12:35:12

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Нужно правильно записать в БД

 data = [(['00:00:00', '445.011'], '20190329'), (['00:00:01', '965.649'], '20190329')]
data = [(x[1], x[0]) for x in data]
print(data)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version