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实现的文件夹清理程序分享
Nov 22 Python
Python闭包实现计数器的方法
May 05 Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
Python对接支付宝支付自实现功能
Oct 10 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
判断Threading.start新线程是否执行完毕的实例
May 02 Python
python中sort sorted reverse reversed函数的区别说明
May 11 Python
Python面向对象之内置函数相关知识总结
Jun 24 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
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
JavaScript入门教程(8) Location地址对象
2009/01/31 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
Web表单提交之disabled问题js解决方法
2015/01/13 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
python使用matplotlib绘制热图
2018/11/07 Python
python感知机实现代码
2019/01/18 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
党支部书记先进事迹
2014/01/17 职场文书
《桂林山水》教学反思
2014/02/08 职场文书
上课说话检讨书500字
2014/11/01 职场文书
2015教师个人工作总结范文
2015/03/31 职场文书
同意报考公务员证明
2015/06/17 职场文书
高中运动会前导词
2015/07/20 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
家电创业计划书
2019/08/05 职场文书
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL
基于Python编写一个监控CPU的应用系统
2022/06/25 Python