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 相关文章推荐
pytyon 带有重复的全排列
Aug 13 Python
python进阶教程之函数参数的多种传递方法
Aug 30 Python
Python探索之Metaclass初步了解
Oct 28 Python
Python决策树分类算法学习
Dec 22 Python
Python贪心算法实例小结
Apr 22 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
Python使用random.shuffle()打乱列表顺序的方法
Nov 08 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
python获取Linux发行版名称
Aug 30 Python
利用Python复制文件的9种方法总结
Sep 02 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
Sep 06 Python
Python语言中的数据类型-序列
Feb 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
图书管理程序(二)
2006/10/09 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
php中this关键字用法分析
2016/12/07 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
PHP7新增函数
2021/03/09 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
javascript常用的方法分享
2015/07/01 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python写的一个简单DNS服务器实例
2014/06/04 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
pandas-resample按时间聚合实例
2019/12/27 Python
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
汽车驾驶求职信
2013/10/25 职场文书
教师个人的自我评价分享
2014/01/02 职场文书
洗发水广告词
2014/03/13 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python