使用python每日根据mysql数据库内容形成折线图的报表,请给出样例代码
时间: 2024-03-02 11:52:12 浏览: 75
Python:使用python读取mysql数据库 .docx
好的,以下是一个使用Python每日根据MySQL数据库内容形成折线图的报表的样例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
import mysql.connector
import datetime
# 连接到MySQL数据库并获取数据
conn = mysql.connector.connect(user='root', password='password', host='localhost', database='example_db')
cursor = conn.cursor()
# 获取当天的日期
today = datetime.date.today()
# 获取昨天的日期
yesterday = today - datetime.timedelta(days=1)
# 获取前七天的日期列表
days = pd.date_range(end=yesterday, periods=7)
data = []
# 循环遍历前七天的日期列表,并获取数据
for day in days:
query = "SELECT * FROM table WHERE date='%s'" % day
cursor.execute(query)
data.append(cursor.fetchall())
# 将数据转换为pandas的DataFrame格式
df = pd.DataFrame(data, columns=['date', 'value'])
# 使用pandas中的groupby()函数对数据进行分组
grouped = df.groupby('date')['value'].sum()
# 创建折线图
plt.plot(grouped.index, grouped.values)
# 添加标题和标签
plt.title('Daily Report')
plt.xlabel('Date')
plt.ylabel('Value')
# 保存图形并显示
plt.savefig('daily_report.png')
plt.show()
```
以上代码是一个简单的示例,您可以根据您的具体需求对其进行修改和调整。在这个示例中,我们使用了MySQL数据库,并假设表中有两个列:日期和值。我们获取了前七天的数据,并使用pandas中的groupby()函数对数据进行分组,然后创建了一个折线图来可视化数据。最后,我们将图形保存到文件中,并在屏幕上显示它。
阅读全文