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中使用mysql数据库详细介绍
Mar 27 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
对Pandas MultiIndex(多重索引)详解
Nov 16 Python
python按照多个条件排序的方法
Feb 08 Python
Django中的静态文件管理过程解析
Aug 01 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
浅谈Python 参数与变量
Jun 20 Python
浅析NumPy 切片和索引
Sep 02 Python
python爬虫工具例举说明
Nov 30 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
python中的random模块和相关函数详解
Apr 22 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脚本数据库功能详解(上)
2006/10/09 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
php常量详细解析
2015/10/27 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python解析文件示例
2014/01/23 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
消防工作实施方案
2014/06/09 职场文书
片区教研活动总结
2014/07/02 职场文书
公司员工离职证明书
2014/10/04 职场文书
雷峰塔导游词
2015/02/09 职场文书
基于angular实现树形二级表格
2021/10/16 Javascript
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android