Как вставить строки информации в разные строки в базе данных MySQL? - PullRequest
0 голосов
/ 30 мая 2019

Я не знаю, как вставить список информации в базу данных mysql.

Я пытаюсь вставить данные строк в базу данных, но она просто вставляет последнюю строку три раза. Список называется «t», и это кортеж.

Данные:

11/04 / 19,17: 33,33.4,55

11/04 / 19,17: 34,22.9,57

11/04 / 19,17: 35,11.9,81

import mysql.connector

sql = mysql.connector.connect(
    host='    ',
    user='    ',
    password='    ',
    db="     "
    )
cursor = sql.cursor()

f = open("C:\Cumulus\data\Apr19log.txt","r")

while True:
    s = f.readline()
    list=[]
    if (s != ""):
        t=s.split(',')
        for item in t:
            list.append(item)
    else:
        break;


sqllist =    """INSERT INTO station_fenelon (variable, date,             
time,outside_temp, outside_humidity)  
                VALUES (%s, %s, %s, %s, %s)"""

record =[(1, t[0], t[1], t[2],t[3]),
         (2, t[0], t[1], t[2],t[3]),
         (3, t[0], t[1], t[2],t[3])]

cursor.executemany(sqllist, record)
sql.commit()

Я хочу создать три строки в базе данных с этим списком информации, но он показывает только последний ряд информации в базе данных.

1 Ответ

1 голос
/ 30 мая 2019

Попробуйте это.

import mysql.connector
sql = mysql.connector.connect(host='',user='',password='',db='')
cursor = sql.cursor()
f = open("C:\Cumulus\data\Apr19log.txt","r")
st=[i.strip().split(',') for i in f.readlines()]

sqllist = """INSERT INTO station_fenelon (variable, date, time, outside_temp, outside_humidity) VALUES (%s, %s, %s, %s, %s)"""

record = [(i+1, j[0], j[1], j[2], j[3]) for i, j in enumerate(st)]

cursor.executemany(sqllist, record)
sql.commit()
...