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笔记(2)
Oct 24 Python
python比较2个xml内容的方法
May 11 Python
Python遍历目录中的所有文件的方法
Jul 08 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
Pycharm更换python解释器的方法
Oct 29 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 Python
python求加权平均值的实例(附纯python写法)
Aug 22 Python
Python如何在windows环境安装pip及rarfile
Jun 15 Python
详细分析Python可变对象和不可变对象
Jul 09 Python
浅析Python requests 模块
Oct 09 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 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函数 serialize()和unserialize()
2012/02/04 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
2017/02/18 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
flask应用部署到服务器的方法
2019/07/12 Python
pycharm配置当鼠标悬停时快速提示方法参数
2019/07/31 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
标准自荐信范文
2014/01/29 职场文书
专题组织生活会方案
2014/06/15 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
2016年教师节慰问信
2015/12/01 职场文书