使用python连接mysql并上传csv

2024-02-27

我是 python 新手。我想使用 mysql.connector 和 python 连接到 mysql。我想打开 csv 然后将其上传到 mysql 数据库。我使用 python 版本:3.6.0

我已经尝试过这个:

import csv
import mysql.connector

cnx = mysql.connector.connect(user='', password='',
                              host='127.0.0.1',
                              database='')
csv_data = csv.reader(file('12_13.csv'))
for row in csv_data:

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

我收到此错误:

回溯(最近一次调用):文件“.\uploadtomysql.py”,行 7、在 csv_data = csv.reader(file('12_13.csv')) NameError:名称“文件”未定义

Thanks!


你得到的错误是'file' is not defined。那是因为您传递了一个名为的变量file未在程序中的任何位置定义(或导入)。你可能想设置file到您要读取的 .csv 文件。所以第一步是打开文件:

file = open('12_13.csv', 'rb')  # open the file in read binary mode
...
file.close()

或者更好的是,在上下文管理器中打开文件,这意味着一旦执行退出块,它将自动关闭:

with open('12_13.csv', 'rb') as f:
    csv_data = csv.reader(f)  # No NameError
    ...
f  # raises NameError and file is closed

我没有运行代码,但这应该可以解决您提到的错误,或者至少让您朝着正确的方向前进。

您还会遇到一个问题cursor没有被定义。您需要创建一个新光标cnx.cursor()

最后,mydb也没有定义,所以会引发错误。我认为你不需要在这种情况下做出承诺,但我不能肯定地说。对于这种控制,我建议使用 ORM,例如SQL炼金术 http://docs.sqlalchemy.org/en/rel_0_9/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用python连接mysql并上传csv 的相关文章

  • 找不到 Jupyter 命令 `jupyter-lab`

    我尝试在我的 Kubuntu 机器上安装 jupyter lab 如果我使用 pip3 install jupyter jupyterlab 安装 jupyter lab 则命令 jupyter notebook 完全可以正常工作 但是 如
  • python/pandas - 将列标题转换为索引

    我必须处理的数据将每小时数据视为列 我想将其转换为索引 示例如下所示 year month day 1 2 3 4 5 24 2015 1 1 a b c 2015 1 2 d e f 2015 1 3 g h i 我想让输出文件像这样 y
  • 什么时候会在 dict 上使用键值对作为 dict.update 方法?

    我注意到你可以做两件事来更新字典 并且它们似乎有相同的结果 a a update foo 1 a a update foo 1 两者都会产生如下所示的字典结果 foo 1 是否有任何理由更喜欢使用字典或键 值对作为更新方法 它们在功能上是否
  • Python:球体的交集

    我对编程非常陌生 但我决定承担一个有趣的项目 因为我最近学会了如何以参数形式表示球体 当三个球体相交时 有两个不同的交点 除非它们仅在一个奇点处重叠 球体的参数表示 我的代码是根据答案修改的Python matplotlib 绘制 3d 立
  • Mac OS X 10.9 上的 Python3、lxml 和“未找到符号:_lzma_auto_decoder”

    我已经使用 homebrew 安装了 python 3 然后安装了 pip3 和 lxml 下面一行 从 lxml 导入主菜 导致以下错误 python3 Python 3 3 5 v3 3 5 62cf4e77f785 Mar 9 201
  • 如何将每个句子的第一个字母大写?

    我正在尝试编写一个程序 将每个句子的第一个字母大写 这是我到目前为止所拥有的 但我不知道如何在句子之间添加句号 例如 如果我输入 你好 再见 输出是 你好再见 并且期间已经消失 string input Enter a sentence s
  • 错误:环境 /Users/myuser/.virtualenvs/iron 不包含激活脚本

    我正在 macOS Catalina 版本 10 15 1 上运行 python 3 7 6 并且我正在尝试安装和设置virtualenvwrapper我已经安装了pip3 install virtualenvwrapper 我的 bash
  • 如何使用 Python 'in' 运算符检查我的列表/元组是否包含每个整数 0、1、2?

    我如何使用Pythonin运算符检查我的列表 元组sltn包含整数 0 1 和 2 我尝试了以下方法 为什么它们都错了 Approach 1 if 0 1 2 in sltn kwd1 True Approach 2 if any item
  • 如何在python中合并具有相同键的嵌套字典

    我有一个这样的数据结构 SNAPSHOT SnapshotVersion 304 SNAPSHOT SnapshotCreationDate 2015 06 21 17 33 41 CafeData CafeVersion 2807 Caf
  • 默认可变参数的惯用方式

    在 python 中 如果直接将可变类型设置为默认参数 则会出现众所周知的边缘情况 def foo x return x y foo y append 1 print foo 通常的解决方法是将参数默认为None然后将其放入体内 然而 有
  • 如何更改 PyGame 中声音或音乐的音量?

    如何更改 PyGame 中的音量 例如通过设置更改音量 我制作了 UI 元素 只需要知道如何更改音量即可 我知道我说不清楚 但你可以理解我 请帮忙 更改音量取决于您是否正在播放pygame mixer Sound https www pyg
  • 导入错误:无法导入名称“IntEnum”

    我正在尝试安装upstox 这是一个用于连接市场数据的 Python API 我无法在Python3 5上安装它 我的配置是Python 3 5 3 v3 5 3 1880cb95a742 Jan 16 2017 15 51 26 MSC
  • 带括号的上下文管理器

    我试图了解新的新内容带括号的上下文管理器Python 3 10 中的功能 新功能中的顶部项目here https docs python org 3 10 whatsnew 3 10 html 我的测试示例是尝试编写 with open f
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • 在同一进程中多次运行Scrapy

    我有一个网址列表 我想抓取其中的每一个 请注意 将此数组添加为start urls不是我正在寻找的行为 我希望它在单独的爬网会话中一一运行 我想在同一个进程中多次运行Scrapy 我想将 Scrapy 作为脚本运行 如常见做法 https
  • Python 3 - 编码/解码与字节/Str [重复]

    这个问题在这里已经有答案了 我是 python3 的新手 来自 python2 我对 unicode 基础知识有点困惑 我读过一些很好的帖子 这让一切变得更加清晰 但是我看到 python 3 上有两种方法可以处理编码和解码 但我不确定使用
  • 将 Python 中创建的 pandas 数据框插入 SQL Server

    如前所述 我在 Python 中创建了一个数据集合 40k 行 5 列 我想将其插入 SQL Server 表中 通常 在 SQL 中我会做一个 select into myTable from dataTable 调用来执行插入 但是 p
  • bool() 和operator.truth() 有什么区别?

    bool https docs python org 3 library functions html bool and operator truth https docs python org 3 library operator htm
  • 如何在Python中使用多处理来加速循环执行

    我有两个清单 列表 A 包含 500 个单词 列表 B 包含 10000 个单词 我正在尝试为列表 A 找到与 B 相关的相似单词 我正在使用 Spacy 的相似函数 我面临的问题是计算需要很长时间 我是多处理使用的新手 因此请求帮助 如何
  • Python子类方法从超类方法继承装饰器

    我有一个具有retrieve 方法的超类 并且它的子类每个都实现自己的retrieve 方法 我希望每个retrieve 方法都被装饰为在收到相同参数时缓存返回值 而不必在每个子类中装饰该方法 装饰器似乎不能被继承 我可能可以调用超类的方法

随机推荐