macOS python使用tushare下载股票数据并保存在mysql
时间: 2024-06-08 21:07:36 浏览: 170
要在 macOS 上使用 Tushare 下载股票数据并将其保存在 MySQL 数据库中,需要遵循以下步骤:
1. 安装 Tushare 和 MySQL 驱动程序
在终端中使用 pip 命令安装 Tushare 和 MySQL 驱动程序:
```
pip install tushare
pip install mysql-connector-python
```
2. 连接 MySQL 数据库
使用以下代码连接到 MySQL 数据库:
```python
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
```
请将 `yourusername`、`yourpassword` 和 `yourdatabase` 替换为您的 MySQL 数据库的用户名、密码和数据库名称。
3. 下载股票数据并保存到 MySQL
使用 Tushare 下载股票数据并将其保存到 MySQL 数据库中。以下是一个示例代码,可以下载股票代码为 `000001`(平安银行)的所有历史交易数据并将其保存到名为 `stock_data` 的 MySQL 表中:
```python
import tushare as ts
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
mycursor = mydb.cursor()
# 创建名为 stock_data 的表
mycursor.execute("CREATE TABLE IF NOT EXISTS stock_data (id INT AUTO_INCREMENT PRIMARY KEY, date DATE, open FLOAT, high FLOAT, low FLOAT, close FLOAT, volume FLOAT)")
# 使用 Tushare 下载股票数据
df = ts.get_hist_data('000001')
# 将数据保存到 MySQL 数据库中
for index, row in df.iterrows():
sql = "INSERT INTO stock_data (date, open, high, low, close, volume) VALUES (%s, %s, %s, %s, %s, %s)"
val = (index.strftime('%Y-%m-%d'), row['open'], row['high'], row['low'], row['close'], row['volume'])
mycursor.execute(sql, val)
mydb.commit()
```
这段代码将创建名为 `stock_data` 的表,并将历史交易数据保存到该表中。如果表已存在,则不会创建新表。
请注意,上面的代码仅下载了股票代码为 `000001` 的历史交易数据。如果您想下载其他股票代码的数据,请将 `ts.get_hist_data('000001')` 中的 `000001` 替换为所需的股票代码。
阅读全文