栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

关于使用python解决excel遍历以及导入数据库 + python读取数据库保存excel/.csv文件 的说明

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于使用python解决excel遍历以及导入数据库 + python读取数据库保存excel/.csv文件 的说明

我们现有一个excel文件,并想将其导入数据库,主要分为两个步骤

1.读取excel文件(这里我路径写死)

首先需要引入pandas包

在路径字符串前面 + r 是为了屏蔽转义符导致出现问题(可以去掉 r 对比试试即可)

import pandas as pd

df = pd.Dataframe(pd.read_excel(r"D:Code_Offlinepytest2xlstest.xlsx"))

拿到df后我们就获取到了excel的整个表的数据

这时候我们一行一行的去遍历数据 

 这里为演示我们建立一个简单的具有四行四列的excel

首先先看一下df的长度

print("excel总列数为: ", len(df), "n")

for i in range(len(df)):
    print(i)

输出为

确认无误

2.创建与SqlServer的连接(其他数据库也一样,这里用SqlServer作为示范)

连接数据库的方法

def conn():
    connect = pymssql.connect('.', 'sa', '123', 'DBCenter')
    if connect:
        print("连接成功")
    return connect

3.接下来就通过读取的excel向数据库中插入

conn = conn()
for i in range(len(df)):
    id = df["id"].values[i]
    name = df["name"].values[i]
    height = df["height"].values[i]
    weight = df["weight"].values[i]

    strsql = f"INSERT INTO testinfo SELECt {id},'{name}',{height},{weight}"
    print(strsql)
    cursor = conn.cursor()
    cursor.execute(strsql)  # 执行sql语句
    conn.commit()  # 提交
    cursor.close()

执行成功,显示如下

数据库中已有结果,问题解决

 

4.通过表名导出csv或者其他格式excel文件

import xlwt

def export_excel(table_name):
    # 连接数据库,查询数据
    host, user, passwd, db = '127.0.0.1', 'root', '123', 'bms'

    cur = conn.cursor()
    sql = 'select * from %s' % table_name
    cur.execute(sql)  # 返回受影响的行数

    fields = [field[0] for field in cur.description]  # 获取所有字段名
    all_data = cur.fetchall()  # 所有数据

    # 写入excel
    book = xlwt.Workbook()
    sheet = book.add_sheet('sheet1')

    for col, field in enumerate(fields):
        sheet.write(0, col, field)

    row = 1
    for data in all_data:
        for col, field in enumerate(data):
            sheet.write(row, col, field)
        row += 1
    book.save("%s.csv" % table_name)

export_excel("testinfo")

执行后

产生 .csv 文件

当然你想产生别的比如xls文件,修改

book.save("%s.csv" % table_name)

这里即可

希望可以解决你的问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325652.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号