pandas读取mysql的a列 a=[850812.SI,850823.SI] 使用for循环下载tushare
时间: 2024-05-11 08:19:10 浏览: 92
可以使用`pandas`库中的`read_sql_query`函数从MySQL数据库中读取数据,并使用`tushare`库的`get_hist_data`函数下载历史行情数据。
以下是一个示例代码:
```python
import pandas as pd
import tushare as ts
# 从MySQL数据库中读取数据
conn = pd.read_sql_query("SELECT a FROM table_name", con=your_mysql_connection)
a_list = conn['a'].tolist()
# 下载历史行情数据
for code in a_list:
df = ts.get_hist_data(code)
# 处理数据
...
```
在上面的代码中,`your_mysql_connection`是你的MySQL数据库连接对象,`table_name`是你要读取数据的表名,`a`是你要读取的列名。`a_list`是一个包含所有`a`列中数据的列表。
然后,我们可以使用`tushare`库的`get_hist_data`函数来下载历史行情数据。`code`变量是从列表`a_list`中循环遍历的股票代码。
你需要根据实际情况进行修改。
相关问题
pandas读取mysql的a列 a=[850812.SI,850823.SI] 使用for循环遍历
可以使用pandas的read_sql_query函数读取MySQL中的数据,并将结果存储在DataFrame中,然后使用for循环遍历DataFrame中的数据。具体代码如下:
```python
import pandas as pd
import pymysql
# 连接MySQL数据库
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='123456',
database='test'
)
# 读取MySQL中的数据
sql = "SELECT * FROM table_name WHERE a IN ('850812.SI', '850823.SI')"
df = pd.read_sql_query(sql, conn)
# 遍历DataFrame中的数据
for index, row in df.iterrows():
print(row['a'])
```
其中,`table_name`为MySQL中的数据表名,`a`为数据表中的列名。在读取数据时,使用`IN`关键字可以同时查询多个值。遍历DataFrame中的数据时,可以使用`df.iterrows()`函数获取每一行数据的索引和值,然后使用`row['a']`获取每一行中`a`列的值。
阅读全文