用Pandas读取MySQL数据库中某只股票100天的日交易数据,将查询结果返回DataFrame里的数据,直接保存到Excel文件,并绘制日收盘价格走势、5天移动平均线、10天移动平均线。
时间: 2023-12-10 16:37:48 浏览: 105
首先需要安装`pandas`和`mysql-connector-python`这两个库,可以使用以下命令进行安装:
```
pip install pandas
pip install mysql-connector-python
```
然后,可以按照以下步骤进行读取MySQL数据库、绘制走势图和保存到Excel文件:
```python
import pandas as pd
import mysql.connector
import matplotlib.pyplot as plt
# 连接MySQL数据库
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='localhost', database='your_database')
# 查询语句
query = "SELECT date, close FROM stock WHERE symbol='AAPL' ORDER BY date DESC LIMIT 100"
# 读取数据到DataFrame
df = pd.read_sql(query, con=cnx)
# 关闭连接
cnx.close()
# 计算5天和10天移动平均线
df['ma5'] = df['close'].rolling(5).mean()
df['ma10'] = df['close'].rolling(10).mean()
# 绘制走势图
plt.plot(df['date'], df['close'], label='Close')
plt.plot(df['date'], df['ma5'], label='MA5')
plt.plot(df['date'], df['ma10'], label='MA10')
plt.legend()
plt.title('AAPL Daily Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()
# 保存到Excel文件
df.to_excel('AAPL_daily_prices.xlsx', index=False)
```
其中,需要将`your_username`、`your_password`和`your_database`替换为自己的MySQL数据库的用户名、密码和数据库名。`symbol`可以替换为需要查询的股票代码。`LIMIT 100`表示查询最近的100天数据。
运行以上代码后,会弹出一个走势图,并且在当前目录下保存一个Excel文件。
阅读全文
相关推荐














