用python代码将csv转为xlsx并下载
时间: 2024-10-13 13:17:34 浏览: 32
python实现xlsx文件分析详解
在Python中,我们可以使用pandas库来进行数据处理,包括读取csv文件和将其转换为xlsx格式。同时,可以利用`openpyxl`库来创建xlsx文件,并使用`sendfile`函数将其发送到用户端供下载。以下是一个简单的示例:
```python
import pandas as pd
from openpyxl import Workbook
from flask import Flask, send_file
# 创建一个Flask应用
app = Flask(__name__)
def csv_to_excel(csv_path, excel_path):
# 读取csv文件
df = pd.read_csv(csv_path)
# 将DataFrame保存为xlsx文件
wb = Workbook() # 创建一个新的工作簿
ws = wb.active # 获取活动的工作表
df.to_excel(ws, index=False) # 写入数据
# 保存工作簿
wb.save(excel_path)
@app.route('/download')
def download():
csv_filename = 'input.csv' # 假设你的CSV文件名为input.csv
excel_filename = 'output.xlsx'
# 转换csv到xlsx
csv_to_excel(csv_filename, excel_filename)
# 返回xlsx文件并设置响应头作为附件下载
return send_file(excel_filename, as_attachment=True, attachment_filename=excel_filename)
if __name__ == '__main__':
app.run(debug=True) # 运行本地服务器
```
在这个例子中,当你访问`http://localhost:5000/download`时,它会读取`input.csv`,将其转换为`output.xlsx`,然后将生成的xlsx文件作为下载提供给用户。
阅读全文