仅用Python三行代码,实现数据库和Excel之间的导入导出

本文展示了如何使用Python的SQLAlchemy库和pandas,仅用六行代码实现数据库到Excel以及Excel到数据库的数据导入导出。通过建立数据库连接,使用pandas的read_sql和to_excel读取及写入数据,简化了数据操作,实现了快速的数据迁移。
摘要由CSDN通过智能技术生成

数据库->Excel

我们首先看一下数据库里面有一个 department这个部门表。这个表里有六条数据,分别代表不同的部门。

接下来看一下这个Python代码,首先导入需要用到的库SQLAlchemy,这是Python中最有名的ORM工具。

全称Object Relational Mapping(对象关系映射)。

为什么要使用SQLAlchemy?

它可以将你的代码从底层数据库及其相关的SQL特性中抽象出来。

特点是操纵Python对象而不是SQL查询,也就是在代码层面考虑的是对象,而不是SQL,体现的是一种程序化思维,这样使得Python程序更加简洁易读。

具体使用方法如下:

from sqlalchemy import create_engine
import pandas as pd
# 创建数据库连接
engine = create_engine('mysql+pymysql://root:211314@localhost/hong')
# 读取mysql数据
db = pd.read_sql(sql='select * from hong.department', con=engine)
# 导出数据到excel
db.to_excel('部门数据.xlsx')
Django中实现Excel导入导出可以使用第三方库`openpyxl`和`xlwt`,具体实现步骤如下: 1. 安装`openpyxl`和`xlwt`库 ``` pip install openpyxl xlwt ``` 2. 实现Excel导出 使用`openpyxl`库实现Excel导出,具体步骤如下: - 编写视图函数,查询需要导出的数据并将数据转换为`openpyxl`的`Workbook`对象 ```python from django.http import HttpResponse from openpyxl import Workbook def export_excel(request): # 查询需要导出的数据 data = ... # 创建Workbook对象 wb = Workbook() # 获取默认的Sheet对象 ws = wb.active # 写入表头 ws.append(['姓名', '年龄', '性别']) # 写入数据 for item in data: ws.append([item.name, item.age, item.gender]) # 设置响应头,告诉浏览器返回的是Excel文件 response = HttpResponse(content_type='application/vnd.ms-excel') response['Content-Disposition'] = 'attachment; filename=export.xlsx' # 将Workbook对象写入响应体中 wb.save(response) return response ``` - 在模板中添加导出按钮 ```html <a href="{% url 'export_excel' %}">导出Excel</a> ``` 3. 实现Excel导入 使用`xlwt`库实现Excel导入,具体步骤如下: - 编写视图函数,读取上传的Excel文件并将数据保存到数据库中 ```python import xlrd def import_excel(request): if request.method == 'POST': # 获取上传的文件 file = request.FILES.get('file') # 打开Excel文件 workbook = xlrd.open_workbook(file_contents=file.read()) # 获取第一个Sheet对象 sheet = workbook.sheet_by_index(0) # 遍历每一行数据 for i in range(1, sheet.nrows): row_data = sheet.row_values(i) # 将数据保存到数据库中 ... return HttpResponse('导入成功') else: return render(request, 'import_excel.html') ``` - 在模板中添加上传表单 ```html <form method="POST" enctype="multipart/form-data"> {% csrf_token %} <input type="file" name="file"> <input type="submit" value="导入Excel"> </form> ``` 以上就是Django中实现Excel导入导出的方法,希望能对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值