python拿到股票代码和代码名称等基本信息

该篇博客展示了如何利用Python的baostock接口获取股票代码、名称等基本信息,并将其存储到数据库中。通过调用baostock的query_all_stock和query_stock_basic函数,获取所有股票的交易状态、证券名称等,然后将数据保存到本地数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/Users/berg/anaconda3/bin/python
#本次使用公开免费(baostock接口)提前安装好#http://baostock.com/baostock/index.php/%E9%A6%96%E9%A1%B5
在这里插入图片描述

import baostock as bs
import pandas as pd
import pymysql
import time
import datetime

now = datetime.datetime.now()
now=str(now)
print(now)

conn = pymysql.connect(
host=“localhost”,
user=“root”,password=“xxxx”,
database=“xxxxx”,
charset=“utf8”)
cursor = conn.cursor()
lg = bs.login()

#参数名称 参数描述get_query_all_stock()
#code 证券代码
#tradeStatus 交易状态(1:正常交易 0:停牌)
#code_name 证券名称
def get_query_all_stock(): #获取 证券代码查询,返回所有股票代码的值
pass
rs = bs.query_all_stock(day=“2021-03-08”)
print(‘query_all_stock respond error_code:’+rs.error_code

### 使用Python批量下载票市场中所有公司的财务报表数据 为了实现这一目标,通常采用的方法是利用网络爬虫技术特定的API接口。对于中国A市场的财务数据获取,可以考虑使用tushare API以及一些常用的Web爬虫库如`requests`、`BeautifulSoup`等。 #### 准备工作 安装必要的包: ```bash pip install tushare pandas requests beautifulsoup4 selenium sqlalchemy openpyxl ``` Tushare是一个免费、开源的数据接口库,提供了方便快捷的方式来访问国内各大证券交易所公开披露的信息资源。注册账号并申请个人token之后就可以调用其提供的各种服务了[^1]。 #### 获取公司列表及基本信息 首先需要获得沪深两市全部正常交易状态下的企业名单及其对应的TS代码(即tushare内部使用的唯一标识符),这部分可以直接通过`tushare.pro_api()`方法完成查询操作。 ```python import tushare as ts pro = ts.pro_api('your_tushare_token') stock_basic_info = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date') print(stock_basic_info.head()) ``` 上述代码片段将会返回一个DataFrame对象,包含了每一家正在挂牌的企业名称、所属地区、行业分类等重要属性信息[^2]。 #### 下载具体某家公司的三大报表 接着针对每一个单独的目标主体分别发起请求以取得它们各自最新一期经审计过的资产负债表、损益表还有现金流状况说明文件。这里假设已经知道了想要处理的对象编号,则可借助于如下所示的方式来进行实际抓取动作: ```python def fetch_financial_statements(ts_code): balance_sheet = pro.balancesheet(ts_code=ts_code) income_statement = pro.income(ts_code=ts_code) cash_flow_statement = pro.cashflow(ts_code=ts_code) with pd.ExcelWriter(f"{ts_code}.xlsx") as writer: balance_sheet.to_excel(writer, sheet_name="Balance Sheet", index=False) income_statement.to_excel(writer, sheet_name="Income Statement", index=False) cash_flow_statement.to_excel(writer, sheet_name="Cash Flow Statement", index=False) for _, row in stock_basic_info.iterrows(): try: fetch_financial_statements(row['ts_code']) print(f"Fetched financial statements for {row['name']}") except Exception as e: print(f"Failed to fetch data for {row['name']} due to error: ", str(e)) ``` 这段脚本实现了遍历之前得到的结果集,并依次尝试读取出对应记录里的`ts_code`字段值作为参数传递给自定义函数`fetch_financial_statements()`;后者负责执行具体的HTTP GET命令并与远端服务器交互从而拿到所需资料最后保存成本地磁盘上的Excel文档形式[^3]。 #### 数据清洗与预处理 由于原始采集回来的内容可能存在缺失项或者是格式不一致等问题,在正式开展后续建模预测前还需要做适当程度上的清理转换作业。比如统一日期表达方式、填补空白单元格等等措施均有助于提高最终模型训练的效果质量。 #### 结果展示 当完成了整个流程后,还可以像下面这样简单绘制图表直观呈现部分关键指标随时间变化的趋势特征。 ```python df = pd.read_excel("some_company.xlsx") plt.figure(figsize=(10, 6)) plt.plot(df["report_period"], df["total_assets"], label="Total Assets") plt.plot(df["report_period"], df["operating_revenue"], label="Operating Revenue") plt.xlabel("Report Period") plt.ylabel("Value (RMB)") plt.title("Financial Highlights Over Time") plt.legend() plt.xticks(rotation=45) plt.tight_layout() plt.show() ``` 此段绘图逻辑能够帮助快速理解所选样本期内资产总额同营业收入之间的关系走势情况[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值