Python之csv文件从MySQL数据库导入导出的方法


Posted in Python onJune 21, 2018

Python从MySQL数据库中导出csv文件处理

csv文件导入MySQL数据库

import pymysql
import csv
import codecs
def get_conn():
  conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test_csv', charset='utf8')
  return conn
def insert(cur, sql, args):
  cur.execute(sql, args)
def read_csv_to_mysql(filename):
  with codecs.open(filename=filename, mode='r', encoding='utf-8') as f:
    reader = csv.reader(f)
    head = next(reader)
    conn = get_conn()
    cur = conn.cursor()
    sql = 'insert into tb_csv values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'
    for item in reader:
      if item[1] is None or item[1] == '': # item[1]作为唯一键,不能为null
        continue
      args = tuple(item)
      print(args)
      insert(cur, sql=sql, args=args)
    conn.commit()
    cur.close()
    conn.close()
if __name__ == '__main__':
  read_csv_to_mysql('1.csv')

注:

1.csv文件的表头如:

序号,合同编号,义务人,档案柜号,柜内编号,权利人,放款金额,放款日期,他项权利证编号,抵押物地址,结清出库日期,备注,地区

mysql的创建tb_csv表语句

CREATE TABLE tb_csv(
  xuhao VARCHAR(20),
  htcode VARCHAR(20),
  yiwuren VARCHAR(20),
  dagh VARCHAR(20),
  gncode VARCHAR(20),
  quanliren VARCHAR(20),
  fkmoney VARCHAR(20),
  fkdata VARCHAR(20),
  qitacode VARCHAR(20),
  diyaaddr VARCHAR(100),
  jqdata VARCHAR(30),
  beizhu VARCHAR(30),
  zone  VARCHAR(30),
  PRIMARY KEY(htcode)
)CHARSET=utf8;

这里为了省事,表中的字段都指明varchar类型

MySQL数据库写入csv文件

import pymysql
import csv
import codecs
def get_conn():
  conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test_csv', charset='utf8')
  return conn
def query_all(cur, sql, args):
  cur.execute(sql, args)
  return cur.fetchall()
def read_mysql_to_csv(filename):
  with codecs.open(filename=filename, mode='w', encoding='utf-8') as f:
    write = csv.writer(f, dialect='excel')
    conn = get_conn()
    cur = conn.cursor()
    sql = 'select * from tb_csv'
    results = query_all(cur=cur, sql=sql, args=None)
    for result in results:
      print(result)
      write.writerow(result)
if __name__ == '__main__':
  read_mysql_to_csv('2.csv')

以上这篇Python之csv文件从MySQL数据库导入导出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自定义函数的创建、调用和函数的参数详解
Mar 11 Python
在Python的struct模块中进行数据格式转换的方法
Jun 17 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
python基本语法练习实例
Sep 19 Python
python实现Zabbix-API监控
Sep 17 Python
浅谈python常用程序算法
Mar 22 Python
django云端留言板实例详解
Jul 22 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
Python实现随机生成任意数量车牌号
Jan 21 Python
详解python内置常用高阶函数(列出了5个常用的)
Feb 21 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
python 从csv读数据到mysql的实例
Jun 21 #Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 #Python
python读取文本绘制动态速度曲线
Jun 21 #Python
python实现可视化动态CPU性能监控
Jun 21 #Python
python实时监控cpu小工具
Jun 21 #Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 #Python
python实现简易内存监控
Jun 21 #Python
You might like
IIS6的PHP最佳配置方法
2007/03/19 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
JavaScript this 深入理解
2009/07/30 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
js实现开关灯效果
2020/03/30 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
python+Django+apache的配置方法详解
2016/06/01 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
python 内置函数汇总详解
2019/09/16 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
python退出循环的方法
2020/06/18 Python
Python 里最强的地图绘制神器
2021/03/01 Python
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
行政经理的岗位职责
2013/11/23 职场文书
委托书的写法
2014/09/16 职场文书
护林员个人总结
2015/03/04 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL
python process模块的使用简介
2021/05/14 Python
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
pandas进行数据输入和输出的方法详解
2022/03/23 Python
一文搞懂Redis中String数据类型
2022/04/03 Redis