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文件的读写和异常代码示例
Oct 31 Python
python字符串的方法与操作大全
Jan 30 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
python使用turtle绘制分形树
Jun 22 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
Python找出微信上删除你好友的人脚本写法
Nov 01 Python
局域网内python socket实现windows与linux间的消息传送
Apr 19 Python
python远程邮件控制电脑升级版
May 23 Python
selenium处理元素定位点击无效问题
Jun 12 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
Oct 24 Python
python​格式化字符串
Apr 20 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
php创建多级目录代码
2008/06/05 PHP
PHP 图片水印类代码
2012/08/27 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
jQuery中layer分页器的使用
2017/03/13 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
python实现定时播放mp3
2015/03/29 Python
Python中将字典转换为列表的方法
2016/09/21 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
django ajax json的实例代码
2018/05/29 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
盛大二次面试题
2016/11/18 面试题
高中军训感想300字
2014/03/04 职场文书
寒假生活随笔
2015/08/15 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书