如何在MySQL数据库的不同行中插入信息行?

时间:2019-05-30 09:28:58

标签: python mysql sql-insert

我不知道如何在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 个答案:

答案 0 :(得分:1)

尝试一下。

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()