本文档主要介绍了如何在Python编程中使用pymysql模块将CSV文件的数据导入MySQL数据库,并演示了如何从MySQL数据库中导出数据到CSV文件的过程。以下是详细的知识点说明: 1. **Python与MySQL连接**: Python通过`pymysql`库实现与MySQL数据库的交互。首先,我们定义了一个`get_conn()`函数,用于建立到本地MySQL服务器(默认主机名`localhost`,端口3306,用户名`root`,密码`root`)的连接,并指定数据库名为`test_csv`,字符集设置为`utf8`。 2. **读取CSV文件**: 使用`csv`模块,通过`codecs.open()`打开CSV文件,以`'r'`模式读取,并设置编码为`utf-8`。`csv.reader()`函数被用来逐行读取CSV文件,其中表头由`next(reader)`获取。 3. **插入数据到MySQL**: 数据插入过程中,定义一个SQL插入语句`sql`,其中使用占位符 `%s` 用于动态参数化。遍历CSV文件中的每一行,如果第2列(假设为唯一键)为空或为`None`,则跳过这一行。将每行数据转换为元组并赋值给`args`,然后执行`insert`方法执行SQL插入操作。 4. **事务管理**: 在插入操作后调用`conn.commit()`确保所有操作都保存到数据库,接着关闭游标和连接。 5. **示例代码执行**: 在`__main__`块中,调用`read_csv_to_mysql('1.csv')`来实际运行这段代码,将`1.csv`文件中的数据导入到`tb_csv`表中。文件`1.csv`的表头信息被提供,包括字段如序号、合同编号等。 6. **MySQL表结构**: 文档中提及的MySQL创建表的SQL语句: ``` CREATE TABLE tb_csv ( xuhao VARCHAR(20), -- 序号 htcode VARCHAR(20), -- 合同编号 yiwuren VARCHAR(20), -- 义务人 dag VARCHAR(20), -- 柜内编号 ... -- 其他字段 ); ``` 这个表的结构应该与CSV文件的列相对应,以便正确地导入和导出数据。 总结来说,本文详细展示了如何利用Python的pymysql和csv模块进行CSV文件与MySQL数据库之间的数据迁移,包括读取CSV文件,根据文件内容动态构建插入SQL语句,以及如何在MySQL中创建对应的表结构。这对于处理数据库操作和数据迁移的Python开发者非常实用。
![](https://csdnimg.cn/release/download_crawler_static/12825247/bg1.jpg)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 1
- 资源: 964
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 计算机系统基石:深度解析与优化秘籍
- 《ThinkingInJava》中文版:经典Java学习宝典
- 《世界是平的》新版:全球化进程加速与教育挑战
- 编程珠玑:程序员的基础与深度探索
- C# 语言规范4.0详解
- Java编程:兔子繁殖与素数、水仙花数问题探索
- Oracle内存结构详解:SGA与PGA
- Java编程中的经典算法解析
- Logback日志管理系统:从入门到精通
- Maven一站式构建与配置教程:从入门到私服搭建
- Linux TCP/IP网络编程基础与实践
- 《CLR via C# 第3版》- 中文译稿,深度探索.NET框架
- Oracle10gR2 RAC在RedHat上的安装指南
- 微信技术总监解密:从架构设计到敏捷开发
- 民用航空专业英汉对照词典:全面指导航空教学与工作
- Rexroth HVE & HVR 2nd Gen. Power Supply Units应用手册:DIAX04选择与安装指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)