Тема: Необхідно правильно записати в БД

Доброго дня, виникла проблема з БД. Необхідно по-перше записати значення в БД.
Інформація на виході її необхідно записати [['00:00:00', '445.011'], ['00:00:01', '965.649'], ['00:00:02', '461.963']]
До кожного потрібно дописати назву файлу наприклад
['21062019', '00:00:00', '445.011']. Назву файлу отримую за допомогою f.name. Підкажіть будь-ласка де можна знайти інформацію як це зробити, чи може в когось є напрацювання в цьому питанні. Заздалегідь дякую. Додаю код з варіантами моїх спроб, тут помилки в синтаксисі які вже 3 день не можу ніяк виправити.
import MySQLdb
with open('201903291.txt') as f:
    for line in f:
        val1, val2 = line.split()
        #val1, val2 = line.strip().split()
        print(val1); print(val2)
for x,y in zip(val1, val2):
    print(x,y)
#with open('201903291.txt', 'r') as f:
   #content=[s.split() for s in f]
   #a, b=zip(*content)
#cd = f.name
conn = MySQLdb.connect(host='10.10.10.10',
                             user='user',
                             password='password',                             
                             db='db')
cursor = conn.cursor()
cursor.execute("INSERT INTO Dozu (Bate, Nom) VALUES ('%s')" % x,y)
conn.commit()
conn.close()

2

Re: Необхідно правильно записати в БД

1. Використовуйте теги code (кнопка <>)
2. Яка структура таблиці в базі?
3. Які саме "помилки в синтаксисі"? Ми не телепати.

Подякували: yarik.starinec961

3

Re: Необхідно правильно записати в БД

Вибачте, структура на фото. Але її треба ще доопрацювати.
https://replace.org.ua/uploads/images/9235/3756fb7cf97f1b1da8f6cb9cf5b15886.bmp
Помилки
1. (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '00:00:00', '445.011'], ['00:00:01', '965.649'], ['00:00:02', '461.963']]')' at line 1")
2. not all arguments converted during string formatting

4

Re: Необхідно правильно записати в БД

Ну так доопрацюйте. Вам треба додати 3 поля - так додайте третє.
Далі - я не зовсім розумію, що у вас із відступами робиться. Ви використовуєте змінні циклу після виходу з нього чи в циклі відкриваєте/закриваєте з'єднання із базою?

Подякували: yarik.starinec961

5

Re: Необхідно правильно записати в БД

Відступи ось такі, а 3 колонка буде звичайна DATE(зараз просто немає доступу додати). Ще в мене була проблема, що в базу записується лише останні значення. 

import MySQLdb

with open('201903291.txt') as f: 
    for line in f: 
        val1, val2 = line.split()
        #val1, val2 = line.strip().split()
        print(val1); print(val2)

#with open('201903291.txt', 'r') as f:
   #content=[s.split() for s in f]
   #a, b=zip(*content)
cd = f.name

conn = MySQLdb.connect(host='10.10.10.10',
                             user='user',
                             password='password',                             
                             db='db')
cursor = conn.cursor()
cursor.execute("INSERT INTO Dozu (Bate, Nom) VALUES ('%s')" % x,y)
conn.commit()
conn.close()

6

Re: Необхідно правильно записати в БД

Добрий ранок, ось такий третій стовпчик.
https://replace.org.ua/uploads/images/9235/977208aa1e12eb62a44f3e2f3ccd6da6.bmp
Але для цього стовпчика в змінній тільки одне значення, як його зробити щоб в базу записувалось рівно стільки раз, скільки в решті змінних

7

Re: Необхідно правильно записати в БД

yarik.starinec96 написав:

в змінній тільки одне значення

В змінній дійсно тільки одне значення в один момент, інакше і бути не може.
Почитайте щось про Python, будь ласка, підручників купа, і навряд чи вам тут на форумі напишуть кращий.

8

Re: Необхідно правильно записати в БД

та це зрозуміло, в мене проблема з внесенням змінної в базу тому я звернувся. Вже довго шукаю в інтернеті так нічого і не знайшов щоб мені допомогло. Мені потрібно щоб змінні a та b правильно записались. І я думав що тут хтось підкаже мені де в мене помилки.

9

Re: Необхідно правильно записати в БД

Будь ласка: ви вносите дані в базу після циклу, а вам треба це робити в циклі, у вас же багато даних. Підказав, як просили? А тепер до підручників.