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使用datetime模块计算各种时间间隔的方法
Mar 24 Python
Python中if __name__ == '__main__'作用解析
Jun 29 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
python学习教程之使用py2exe打包
Sep 24 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 Python
Python小白必备的8个最常用的内置函数(推荐)
Apr 03 Python
Python 用turtle实现用正方形画圆的例子
Nov 21 Python
Python with标签使用方法解析
Jan 17 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
Python字符串格式化常用手段及注意事项
Jun 17 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调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
Javascript - HTML的request类
2007/01/09 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
layui之select的option叠加问题的解决方法
2018/03/08 Javascript
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
使用python绘制常用的图表
2016/08/27 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
应届生会计电算化求职信
2013/10/03 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
销售心得体会
2014/01/02 职场文书
公司庆典活动邀请函
2014/01/09 职场文书
给同事的道歉信
2014/01/11 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
2016年党建工作简报
2015/11/26 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
PHP 时间处理类Carbon
2022/05/20 PHP