在项目中对后台进行测试时,经常会遇到要在数据库新增数据,那么如何快速新增数据来提高工作效率呢?

现整理如下:

代码内容(csv_to_mysql.py):

# coding=utf-8
import pymysql

file_path = "export.csv"
table_name = "export"
try:
con = pymysql.connect(user="root",
passwd="123456",
db="test01",
host="localhost",
local_infile=1)
con.set_charset('utf8')
cur = con.cursor()
cur.execute("set names utf8")
cur.execute("SET character_set_connection=utf8;")

with open(file_path, 'r', encoding='utf8') as f:
reader = f.readline()
print(reader)
# 做成列表
devide = reader.split(',')
# 去除最后的换行符
devide[-1] = devide[-1].rstrip('\n')
print(devide)

column = ''
for dd in devide:
# 如果标题过长,只能存成text格式
if dd == "标题":
column = column + dd + ' TEXT,'
else:
column = column + dd + ' varchar(255),'

# 去除最后一个多余的,
col = column.rstrip(',')
# print(column[:-1])

create_table_sql = 'create table if not exists {} ({}) DEFAULT CHARSET=utf8'.format(table_name, col)
print(create_table_sql)
data = 'LOAD DATA LOCAL INFILE \'' + file_path + '\'REPLACE INTO TABLE ' + table_name + \
' CHARACTER SET UTF8 FIELDS TERMINATED BY \',\' ENCLOSED BY \'\"\' LINES TERMINATED BY \'\n\' IGNORE 1 LINES;'
cur.execute(create_table_sql)
cur.execute(data.encode('utf8'))
print(cur.rowcount)
con.commit()
except:
print("发生错误")
con.rollback()

finally:
cur.close()
con.close()

运行结果:

以上是以本地数据库作为例子,实际工作中可根据自己的需求修改数据库连接和SQL语句

Python读取CSV文件并存储到MySQL的更多相关文章

  1. Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal multibyte sequence

    Python读取CSV文件,报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in position 727: illegal mul ...

  2. Python 读取csv文件到excel

    朋友问我如何通过python把csv格式的文件另存为xls文件,自己想了想通过读取csv文件然后再保存到xls文件中即可,也许还有其他简单的方法,但这里也为了练习python语法及其他知识,所以采用了 ...

  3. Python读取 csv文件中文乱码处理

    需求:按行解析读取csv文件存入关系型数据库——主要是中文字体解析:遇到的问题:直接解析出来的数据为list形式,而且编码格式为unicode;解决问题:前提了解: 中文编码的规则 —— GB2312 ...

  4. python读取csv文件、excel文件并封装成dict类型的list,直接看代码

    # coding=UTF-8import csvimport xlrd class ReaderFile(): """ 读取csv文件 filePath:文件路径 &qu ...

  5. python3+Appium自动化11-data数据封装之python读取csv文件

    使用背景 实际项目中,我们的测试数据可能存储在一个数据文件中,如txt.excel.csv文件类型.我们可以封装一些方法来读取文件中的数据来实现数据驱动 enumerate()简介 enumerate ...

  6. 利用Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...

  7. python读取CSV文件

    python中有一个读写csv文件的包,直接import csv即可.利用这个python包可以很方便对csv文件进行操作,一些简单的用法如下. 1. 读文件 csv_reader = csv.rea ...

  8. python 读取csv文件

    python中有一个读写csv文件的包,直接import csv即可 新建test.csv 1.写 import csv with open("test.csv","w& ...

  9. python 读取CSV文件 中文乱码

    今天读取一个CSV文件,打印出来,中文显示乱码,原因是编码的缘故,CSV保存是编码格式ANSI,解决办法是以记事本方式打开CSV文件,然后另存为时编码选择UTF-8进行保存即可.

  10. python读取csv文件数据绘制图像,例子绘制天气每天最高最低气温气象图

随机推荐

  1. Mybatis框架详解

    Mybatis框架(1)---Mybatis入门 mybatis入门   MyBatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache sof ...

  2. smart_web 管理端基本说明

    smart_web 操作手册 1. smart_web 是什么? smart_web 是 smart_rtmpd 的付费版本,拥有比免费版本更多的功能支持,基于 web 的管理方式,让您随时随地在大部 ...

  3. react 趟坑

    最近一直在做react项目,发现一个bug,困扰了我两天. Can't perform a React state update on an unmounted component. This is ...

  4. Vite构建项目记录

    背景 微信推送了一些公众号文章,所 vite 已经跟新到 v6 版本了,于是构建一个 vite 项目看下啥变化 过程 直接打开 https://vite.dev/ 官网,切换问中文语言,找到此处 ht ...

  5. linux shell 脚本调试技巧

    本文分享自天翼云开发者社区<linux shell 脚本调试技巧>,作者:g****n 1.bash -x 加脚本 这是最常用的调试手段,终端会打印出,脚本执行过程中的每一个命令. a. ...

  6. Flink名词介绍

    一.常用名词 1.Slot:处理槽,一般为服务器核数*4,平分服务器内存 2.Window:时间窗口 滚动窗口(Tumbling Window)将事件拆分成固定长度,窗口之间不重叠,窗口长度固定 例: ...

  7. 从SSH远程到Git Push:在Windows上一步到位实现免密码登录

    前言 我一直希望在Windows上能像在Linux系统中那样,通过SSH密钥实现免密码远程连接.每次远程连接到服务器时,手动输入密码既麻烦又不太安全,尤其是在我需要频繁操作的情况下. 之前的文章中已经 ...

  8. 在 WPF 应用程序中缓存应用程序数据

    参考学习链接:https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/advanced/walkthrough-caching-applicatio ...

  9. Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版

    Deepseek卡的问题已经有几周了,还有同学没有解决这个问题? 今天就来教大家如何白嫖阿里云的Deepseek-R1满血版,新用户享受100万token额度,相当的富裕,可以随便用了.并且还配用AP ...

  10. 【COM3D2Mod 制作教程(3)】Mod 制作概要

    [COM3D2Mod 制作教程(3)]Mod 制作概要 制作工具整合包:https://mod.3dmgame.com/mod/205516 该工具包简单整合了些本章需要的小型工具.插件.以及其他一些 ...