Python之csv文件从MySQL数据库导入导出的方法
Python从MySQL数据库中导出csv文件处理
csv文件导入MySQL数据库
importpymysql importcsv importcodecs defget_conn(): conn=pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test_csv',charset='utf8') returnconn definsert(cur,sql,args): cur.execute(sql,args) defread_csv_to_mysql(filename): withcodecs.open(filename=filename,mode='r',encoding='utf-8')asf: reader=csv.reader(f) head=next(reader) conn=get_conn() cur=conn.cursor() sql='insertintotb_csvvalues(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)' foriteminreader: ifitem[1]isNoneoritem[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表语句
CREATETABLEtb_csv( xuhaoVARCHAR(20), htcodeVARCHAR(20), yiwurenVARCHAR(20), daghVARCHAR(20), gncodeVARCHAR(20), quanlirenVARCHAR(20), fkmoneyVARCHAR(20), fkdataVARCHAR(20), qitacodeVARCHAR(20), diyaaddrVARCHAR(100), jqdataVARCHAR(30), beizhuVARCHAR(30), zoneVARCHAR(30), PRIMARYKEY(htcode) )CHARSET=utf8;
这里为了省事,表中的字段都指明varchar类型
MySQL数据库写入csv文件
importpymysql importcsv importcodecs defget_conn(): conn=pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test_csv',charset='utf8') returnconn defquery_all(cur,sql,args): cur.execute(sql,args) returncur.fetchall() defread_mysql_to_csv(filename): withcodecs.open(filename=filename,mode='w',encoding='utf-8')asf: write=csv.writer(f,dialect='excel') conn=get_conn() cur=conn.cursor() sql='select*fromtb_csv' results=query_all(cur=cur,sql=sql,args=None) forresultinresults: print(result) write.writerow(result) if__name__=='__main__': read_mysql_to_csv('2.csv')
以上这篇Python之csv文件从MySQL数据库导入导出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。