python 上传xlsx web上传的代码
时间: 2024-10-24 19:16:17 浏览: 24
在Python中,你可以使用Flask或Django等Web框架结合pandas库和 werkzeug(用于文件处理)来实现Excel (xlsx) 文件的web上传功能。以下是一个简单的示例,使用Flask:
```python
from flask import Flask, request, render_template
import pandas as pd
import os
app = Flask(__name__)
@app.route('/')
def upload_form():
return render_template('upload.html', action="/upload")
@app.route('/upload', methods=['POST'])
def handle_upload():
if 'file' not in request.files:
return "No file part"
file = request.files['file']
if file.filename == '':
return "No selected file"
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
# 将excel数据转换成DataFrame
data_df = pd.read_excel(filename)
# 对数据做进一步处理...
# ...
return {'status': 'success', 'message': f"File {filename} uploaded successfully"}
else:
return "File type not supported"
def allowed_file(filename):
# 这里可以根据需要添加对文件类型的检查
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ['xlsx']
# 定义配置项
app.config['UPLOAD_FOLDER'] = '/path/to/save/files'
if __name__ == '__main__':
app.run(debug=True)
```
在这个例子中,首先创建一个HTML表单(`upload.html`),用户可以选择并上传Excel文件。当用户提交表单时,`handle_upload`函数会被触发,它会检查文件是否有效,然后保存到服务器指定的目录,并读取Excel内容。
记得在实际应用中替换`/path/to/save/files`为你服务器上的实际存储路径。
阅读全文