(1)用Pandas读取MySQL数据库中某只股票100天的日交易数据,将查询结果返回DataFrame里的数据,直接保存到Excel文件,并绘制日收盘价格走势、5天移动平均线、10天移动平均线。
时间: 2023-11-27 16:48:59 浏览: 40
首先需要安装`pandas`和`mysql-connector-python`模块,然后按照以下步骤进行操作:
1. 连接MySQL数据库,获取数据
```python
import mysql.connector
import pandas as pd
# 连接数据库
cnx = mysql.connector.connect(user='user', password='password',
host='localhost', database='stock')
# 查询语句
query = "SELECT * FROM stock_data WHERE stock_code = '000001' LIMIT 100"
# 读取数据
df = pd.read_sql(query, cnx)
# 关闭连接
cnx.close()
```
2. 保存数据到Excel文件
```python
# 保存数据到Excel文件
df.to_excel('000001.xlsx', index=False)
```
3. 绘制日收盘价格走势、5天移动平均线、10天移动平均线
```python
import matplotlib.pyplot as plt
# 绘制日收盘价格走势
plt.plot(df['date'], df['close'], label='close')
# 计算5天移动平均线
ma5 = df['close'].rolling(window=5).mean()
plt.plot(df['date'], ma5, label='MA5')
# 计算10天移动平均线
ma10 = df['close'].rolling(window=10).mean()
plt.plot(df['date'], ma10, label='MA10')
# 设置图例和标题
plt.legend()
plt.title('Stock 000001')
# 显示图像
plt.show()
```
完整代码如下:
```python
import mysql.connector
import pandas as pd
import matplotlib.pyplot as plt
# 连接数据库
cnx = mysql.connector.connect(user='user', password='password',
host='localhost', database='stock')
# 查询语句
query = "SELECT * FROM stock_data WHERE stock_code = '000001' LIMIT 100"
# 读取数据
df = pd.read_sql(query, cnx)
# 关闭连接
cnx.close()
# 保存数据到Excel文件
df.to_excel('000001.xlsx', index=False)
# 绘制日收盘价格走势
plt.plot(df['date'], df['close'], label='close')
# 计算5天移动平均线
ma5 = df['close'].rolling(window=5).mean()
plt.plot(df['date'], ma5, label='MA5')
# 计算10天移动平均线
ma10 = df['close'].rolling(window=10).mean()
plt.plot(df['date'], ma10, label='MA10')
# 设置图例和标题
plt.legend()
plt.title('Stock 000001')
# 显示图像
plt.show()
```