大黄瓜de冬天 2023-07-12 18:21 采纳率: 88.9%
浏览 14

使用Python将Excel表导入MySQL报错

在linux环境下,使用python3命令执行脚本导入数据到mysql,报错

img

下面是代码,网上找的(我是java,只能看懂意思)

import xlrd
import MySQLdb
# 打开Excel文件
workbook = xlrd.open_workbook("file.xls")
sheet = workbook.sheet_by_index(0)
# 连接数据库
db = MySQLdb.connect(host="127.0.0.1", user="root", passwd="123456", db="test")
# 获取游标
cursor = db.cursor()
# 循环读取Excel文件中的每一行数据
for row in range(2, sheet.nrows):
name1 = sheet.cell(row, 0).value
age1 = sheet.cell(row, 1).value
email1 = sheet.cell(row, 2).value
# 将数据插入到MySQL表中
cursor.execute("INSERT INTO test(name, age, email) VALUES(%s, %s, %s)", (name1, age1, email1))
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()

下面是xls文件的内容

img

表信息:
CREATE TABLE test (
name varchar(20) NOT NULL DEFAULT '1' COMMENT '名字',
age int(11) DEFAULT NULL COMMENT '年龄',
email varchar(3) DEFAULT NULL COMMENT '邮箱'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='测试'
请问代码中部分应该怎么改动能导入进去数据

  • 写回答

1条回答 默认 最新

  • 星夜辰 2023-07-12 18:38
    关注

    你的报错只能看到报错位置12行,不能看到具体报错类型。推测1.格式问题 2.数据问题
    1.python 是严格空格的, 你先检查下12行的空格数量
    2.打印row数据

    大概率是格式问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 7月12日
  • 创建了问题 7月12日

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)