首页 > 数据库 > mysql教程 > 为什么我的 Python 代码没有将 CSV 数据插入到我的 MySQL 数据库中?

为什么我的 Python 代码没有将 CSV 数据插入到我的 MySQL 数据库中?

Patricia Arquette
发布: 2024-11-29 05:27:12
原创
881 人浏览过

Why Isn't My Python Code Inserting CSV Data into My MySQL Database?

在 Python 中将 CSV 数据加载到 MySQL

此代码片段尝试将 CSV 数据加载到 MySQL 数据库表中。但是,用户遇到了一个问题,即没有任何内容插入到表中。

代码使用 csv 和 MySQLdb 模块读取 CSV 文件并将其数据插入名为 testcsv 的 MySQL 表中。 CSV 文件预计包含三列:名称、类和标记。

执行代码后,用户不会报告任何错误消息,但表仍为空。为了解决这个问题,代码缺少一个关键步骤:将更改提交到数据库。

在 MySQL 中,对数据库所做的更改(例如插入新记录)在提交之前不是永久的。默认情况下,MySQL 以自动提交模式运行,这意味着每个语句都会自动提交。但是,在某些情况下,例如处理事务时,需要显式提交更改。

在提供的代码中,插入每行数据后缺少以下行:

mydb.commit()
登录后复制

添加此行将确保每个 INSERT 语句所做的更改都提交到数据库。因此,数据将成功插入到 testcsv 表中。更新后的代码应如下所示:

import csv
import MySQLdb

mydb = MySQLdb.connect(host='localhost',
    user='root',
    passwd='',
    db='mydb')
cursor = mydb.cursor()

csv_data = csv.reader(file('students.csv'))
for row in csv_data:

    cursor.execute('INSERT INTO testcsv(names, \
          classes, mark )' \
          'VALUES("%s", "%s", "%s")', 
          row)
    mydb.commit()
#close the connection to the database.
cursor.close()
print "Done"
登录后复制

通过在每次插入操作后提交更改,用户可以确保数据永久存储在 MySQL 表中。

以上是为什么我的 Python 代码没有将 CSV 数据插入到我的 MySQL 数据库中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板