当前位置: 首页 > 编程笔记 >

Python之csv文件从MySQL数据库导入导出的方法

屈宏爽
2023-03-14
本文向大家介绍Python之csv文件从MySQL数据库导入导出的方法,包括了Python之csv文件从MySQL数据库导入导出的方法的使用技巧和注意事项,需要的朋友参考一下

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数据库导入导出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍php将csv文件导入到mysql数据库的方法,包括了php将csv文件导入到mysql数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php将csv文件导入到mysql数据库的方法。分享给大家供大家参考。具体分析如下: 本程序实现数据导入原理是先把csv文件上传到服务器,然后再通过php的fopen与fgetcsv文件把数据保存到数组,然后再用while把数据一

  • 想要知道更多东西吗?当你需要从表中查找某些值时,可以使用冗长的 case 语句或 selectors 实现,但更整洁的方式是使用 extlookup 函数实现。 在 puppetmaster 上可以使用 extlookup 函数查询外部的 CSV 文件,并返回匹配的数据片段。 将所有数据组织到一个单一的文件并将它从 Puppet 配置清单中分离出来, 可以使维护工作变得更简单,也便于与其他人分享:

  • 本文向大家介绍PHP编程实现csv文件导入mysql数据库的方法,包括了PHP编程实现csv文件导入mysql数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP编程实现csv文件导入mysql数据库的方法。分享给大家供大家参考,具体如下: config.db.php内容如下; index.php内容如下: insertdb.php内容如下: 更多关于PHP相关内容感兴趣的读

  • 我试图从csv文件导入数据。但它不起作用。有人能帮我吗? 我的简历文件: 用户名、密码usr1、pswd1 usr2、pswd2、usr3、pswd 3。。。。。 我的CSV数据集配置: 文件名:D:\Jmeter\Data\Login。csv变量名称:用户名、密码是否允许引用数据?:EOF上的真正回收?:错误EOF?上的停止线程:真的 但在请求正文中,用户名和密码没有反映出来 POST 数据:

  • 问题内容: 我有几个要导入到表中的CSV文件。它们都包含不同数量的列,因此每次导入期间都会缺少一些数据。我需要一个可以让我将哪个CSV列映射到哪个MySQL列的工具。看起来MySQL工作台无法做到这一点。我还能使用什么? 问题答案: MySQL具有LOAD DATA INFILE语法: 请参阅有关自定义数据处理的文档。

  • 本文向大家介绍ASP.NET开源导入导出库Magicodes.IE完成Csv导入导出的方法,包括了ASP.NET开源导入导出库Magicodes.IE完成Csv导入导出的方法的使用技巧和注意事项,需要的朋友参考一下 说明 本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出. 关于Magicodes.IE 导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持Excel、W