如何将信息行插入mysql数据库中的不同行?
Posted
技术标签:
【中文标题】如何将信息行插入mysql数据库中的不同行?【英文标题】:How to insert rows of information into different rows in a mysql database? 【发布时间】:2019-05-30 09:28:58 【问题描述】:我不知道如何将信息列表插入到 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()
我想用这个信息列表在数据库中创建三行,但只显示数据库中的最后一行信息。
【问题讨论】:
@Sukumar Rdjf print (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 @Sukumar Rdjf 这是一个元组 @Sukumar Rdjf 1、2 和 3 只是我的数据库表中的自动增量,以便我知道信息的去向。 @Sukumar Rdjf 不是插入 3 行信息,而是简单地插入 11/04/19,17:35,11.9,81 三次(我犯了一个错误,不是两次,而是三次) 只要我的“声誉”上升到足够的程度,我就会投票 【参考方案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()
【讨论】:
以上是关于如何将信息行插入mysql数据库中的不同行?的主要内容,如果未能解决你的问题,请参考以下文章
如何将具有不同时区的 tz_convert 应用于熊猫数据框中的不同行