請你幫我修改需要將SQL變更為本地xlsl文件
时间: 2024-03-17 21:45:36 浏览: 133
好的,我可以帮您将数据存储到本地的 xlsx 文件中。首先,您需要安装 `openpyxl` 库,它可以帮助我们读写 Excel 文件。您可以使用以下命令进行安装:
```bash
pip install openpyxl
```
接下来,我们需要修改 `app.py` 文件以便将数据存储到 Excel 文件中。以下是修改后的代码:
```python
from flask import Flask, render_template, request, redirect, url_for
import datetime
import os
from openpyxl import Workbook, load_workbook
app = Flask(__name__)
@app.route('/')
def index():
history = load_history()
return render_template('index.html', history=history)
@app.route('/add', methods=['POST'])
def add_data():
data = request.form['data']
timestamp = datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S')
save_data(data, timestamp)
return redirect(url_for('index'))
def load_history():
if not os.path.exists('history.xlsx'):
return []
workbook = load_workbook('history.xlsx')
sheet = workbook.active
history = []
for row in sheet.iter_rows(values_only=True):
history.append({'data': row[0], 'timestamp': row[1]})
return history
def save_data(data, timestamp):
if not os.path.exists('history.xlsx'):
workbook = Workbook()
sheet = workbook.active
sheet.append(['Data', 'Timestamp'])
else:
workbook = load_workbook('history.xlsx')
sheet = workbook.active
sheet.append([data, timestamp])
workbook.save('history.xlsx')
if __name__ == '__main__':
app.run(debug=True)
```
在上面的代码中,我们使用了 `openpyxl` 库来读写 Excel 文件。我们定义了两个函数 `load_history()` 和 `save_data()`,它们分别用于加载历史数据和保存新数据到 Excel 文件中。
`load_history()` 函数首先检查是否存在名为 `history.xlsx` 的文件,如果不存在,则返回一个空列表。如果文件存在,则使用 `load_workbook()` 函数加载文件,并获取活动工作表。然后,我们使用 `iter_rows()` 函数遍历每一行,并将数据添加到 `history` 列表中。最后,我们返回 `history` 列表。
`save_data()` 函数首先检查是否存在名为 `history.xlsx` 的文件,如果不存在,则创建一个新的工作簿和工作表,并添加标题行。如果文件存在,则使用 `load_workbook()` 函数加载文件,并获取活动工作表。然后,我们使用 `append()` 函数将新数据添加到工作表的末尾。最后,我们使用 `save()` 函数保存工作簿到 `history.xlsx` 文件中。
在 `add_data()` 函数中,我们使用 `datetime.datetime.utcnow()` 函数获取当前时间,将其转换为字符串格式,并将其作为时间戳添加到 Excel 文件中。
现在,您可以运行应用程序,并使用表单向 Excel 文件中添加新数据。历史数据将从 `history.xlsx` 文件中加载,并显示在网页上。
阅读全文