Python MySQL execute语句返回NoneType
我有一个txt文件,其中有一个婴儿名字列表,按照有多少婴儿出生时就有这个名字排列。格式(等级、男孩姓名、数字、百分比、女孩姓名、数字和百分比) 示例:Python MySQL execute语句返回NoneType,python,mysql,sum,nonetype,Python,Mysql,Sum,Nonetype,我有一个txt文件,其中有一个婴儿名字列表,按照有多少婴儿出生时就有这个名字排列。格式(等级、男孩姓名、数字、百分比、女孩姓名、数字和百分比) 示例:1迈克尔462085 2.2506杰西卡302962 1.5436。我已经编写代码将其解析为一个数组,并将每个值放在一个单独的列中。我想把所有男孩的数量加起来,算出出生男孩的总数。我使用的sql语句在sql控制台中工作,但python始终返回“None”。我应该创建一个单独的函数,还是这是一个快速解决方案。查找总和的代码位于底部 import my
1迈克尔462085 2.2506杰西卡302962 1.5436
。我已经编写代码将其解析为一个数组,并将每个值放在一个单独的列中。我想把所有男孩的数量加起来,算出出生男孩的总数。我使用的sql语句在sql控制台中工作,但python始终返回“None”。我应该创建一个单独的函数,还是这是一个快速解决方案。查找总和的代码位于底部
import mysql.connector
from decimal import Decimal
db = mysql.connector.connect(
host = "localhost",
user="root",
passwd = "",
database = "Final"
)
cur = db.cursor()
Boys_born = 50
babies_born = 0
index = 0
#opens txt file and splits each value and plugs into database
with open("babynames.txt") as in_file:
for line in in_file:
row = []
stripped_line = line.strip()
row = stripped_line.split()
RANK = row[0]
BOY_NAME = row[1]
BOY_NUMBER = int(row[2])
BOY_PERCENT = Decimal(row[3])
GIRL_NAME = row[4]
GIRL_NUMBER = int(row[5])
GIRL_PERCENT = Decimal(row[6])
#dont worry about this if statement
if babies_born >= 16079293.5:
boy = row[1]
girl = row[4]
sql1 = "INSERT INTO Boy_names (RANK, BOY_NAME, BOY_NUMBER, BOY_PERCENT) VALUES (%s,
%s, %s, %s)"
val1 = (RANK, BOY_NAME, BOY_NUMBER, BOY_PERCENT)
cur.execute(sql1, val1)
db.commit()
sql2 = "INSERT INTO Girl_names (RANK, GIRL_NAME, GIRL_NUMBER, GIRL_PERCENT) VALUES (%s, %s, %s, %s)"
val2 = (RANK, GIRL_NAME, GIRL_NUMBER, GIRL_PERCENT)
cur.execute(sql2, val2)
db.commit()
Boy_total = cur.execute("SELECT SUM(BOY_NUMBER) FROM Boy_names")
print(Boy_total)
for i in cur.fetchall():
print(i)
是的,cur.execute()
返回None
。这是正常的行为。通过您已经在使用的fetchall()
之类的东西访问数据。我看这里没有任何问题。是的,cur.execute()
返回None
。这是正常的行为。通过您已经在使用的fetchall()
之类的东西访问数据。我看这里没有任何问题。