相关库及文件引入
import pymysql import pandas as pd path = "DataForHouse.xlsx" # 需要写入的文件路径,同级目录省略路径,直接写文件名 data = pd.read_excel(path) # 使用pandas库读取数据
具体实现:
需要注意的是:
在python项目中,向数据库插入int型字符,大都惯用%d,然后出现报错%d format: a number is required, not str。
事实上传给sql的变量写对格式就行了,sql里不需要写对应的变量类型,只写%s就可以了!
# 打开数据库连接
db = pymysql.connect(
host='localhost',
user='root',
password='123456',
database='pysql',
charset='utf8'
)
cursor = db.cursor() # 使用 cursor() 方法创建一个游标对象 cursor
# 无需int,全指定为str(%s)
# hadoopdata为表名,id为int型key
query = 'insert into hadoopdata(id,location,money,area,state) values (%s,%s,%s,%s,%s)'
for i in range(len(data)):
id = data.iloc[i, 0]
location = data.iloc[i, 1]
money = data.iloc[i, 2]
area = data.iloc[i, 3]
state = data.iloc[i, 4]
# 为保险进行一次类型转换
values = (str(id), str(location), str(money), str(area), str(state))
cursor.execute(query, values)
db.commit() # 数据提交
print('数据已导入') # 打印提示语
cursor.close() # 关闭游标对象
db.close() # 关闭数据库连接



