Python | Python + xlrd + xlwt réalise l'importation de données de fichier Excel dans la base de données et l'exportation des données de la base de données vers Excel (le code est élégant et facile à comprendre)

J'ai appris un article sur l'utilisation de java pour faire fonctionner Excel, mais après tout, java est plus rigoureux, et c'est un peu lourd à mettre en œuvre. Python et excel sont les vrais CP qui remplissent la même fonction, avec moins de code et une syntaxe facile à comprendre.

SpringBootMybatis + poi + Thymeleaf réalise l'importation de données de fichier Excel dans la base de données et l'exportation des données de la base de données vers Excel (détaillé)
https://blog.csdn.net/y1534414425/article/details/106665202

Un paquet

  1. pymysql Utilisé pour se connecter à la base de données
  2. xlrd Outil étendu pour lire Excel
  3. xlwt Outil étendu pour l'écriture de fichiers Excel

Deux, importez Excel dans la base de données

import pymysql
import xlrd

# 打开xls文件
data = xlrd.open_workbook('C:\\Users\\Jonsson\\Desktop\\123.xlsx')
# 打开第一张表
table = data.sheets()[0]
# 获取表的行数
nrows = table.nrows
# 打开数据库连接
db = pymysql.connect(host='localhost',
                     port=3306,
                     user='root',
                     password='123456',
                     database='excel',
                     charset='utf8')
# 使用cursor()方法创建一个游标对象cursor
cursor = db.cursor()
# 循环逐行打印
for i in range(nrows):
    # 跳过第一行
    if i == 0:
        continue
    values = "'%s',%d,'%s','%s'" % (
        table.cell_value(i, 1), table.cell_value(i, 2), table.cell_value(i, 3), table.cell_value(i, 4))
    # 定义sql
    sql = """
    insert into car(`name`,`price`,`colour`,`brand`) values(%s)
    """ % values
    print(sql)
    try:
        # 使用execute()方法执行SQL查询
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except Exception as e:
        # 打印异常
        print(e)
        # 如果发生错误则回滚
        db.rollback()
# 关闭数据库连接
db.close()

Troisièmement, exporter la base de données pour exceller

import pymysql
import xlwt

# 打开数据库连接
db = pymysql.connect(host='localhost',
                     port=3306,
                     user='root',
                     password='123456',
                     database='excel',
                     charset='utf8')
# 使用cursor()方法创建一个游标对象cursor
cursor = db.cursor()
# 定义sql
sql = "select * from car"
try:
    # 使用execute()方法执行SQL查询
    cursor.execute(sql)
    # 打印输出结果
    data = cursor.fetchall()
    print(data)
    # 创建一个workbook 设置编码
    workbook = xlwt.Workbook(encoding='utf-8')
    # 创建一个worksheet
    worksheet = workbook.add_sheet('car')
    # 写入excel 参数对应 行, 列, 值
    for i in range(len(data)):
        # 第一行用于写入表头
        if i == 0:
            worksheet.write(i, 0, '主键(id)')
            worksheet.write(i, 1, '名称(name)')
            worksheet.write(i, 2, '价格(price)')
            worksheet.write(i, 3, '颜色(colour)')
            worksheet.write(i, 4, '品牌(brand)')
            continue
        for j in range(len(data[i])):
            worksheet.write(i, j, '%s' % data[i][j])
    # 保存
    workbook.save('C:\\Users\\Jonsson\\Desktop\\result.xls')
except Exception as e:
    # 打印异常
    print(e)
    # 如果发生错误则回滚
    db.rollback()
# 关闭数据库连接
db.close()

Quatrièmement, le script de base de données

DROP TABLE IF EXISTS `car`;
CREATE TABLE `car` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) DEFAULT NULL COMMENT '名称',
  `price` int(11) DEFAULT NULL COMMENT '价格',
  `colour` varchar(255) DEFAULT NULL COMMENT '颜色',
  `brand` varchar(255) DEFAULT NULL COMMENT '品牌',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8 COMMENT='汽车';
LOCK TABLES `car` WRITE;
INSERT INTO `car` VALUES (85,'东风',150,'黑色','东风'),(86,'丰田',100,'白色','丰田'),(87,'本田',120,'蓝色','本田'),(88,'东风',150,'黑色','东风'),(89,'丰田',100,'白色','丰田'),(90,'本田',120,'蓝色','本田'),(91,'东风',150,'黑色','东风'),(92,'东风',150,'黑色','东风'),(93,'丰田',100,'白色','丰田'),(94,'本田',120,'蓝色','本田'),(95,'东风',150,'黑色','东风'),(96,'丰田',100,'白色','丰田'),(97,'本田',120,'蓝色','本田'),(98,'东风',150,'黑色','东风');
UNLOCK TABLES;

Cinq, effet

Insérez la description de l'image ici
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/y1534414425/article/details/106688833
conseillé
Classement