Files
MoFin/venv/lib/python3.12/site-packages/akshare/stock/stock_industry_sw.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

50 lines
1.4 KiB
Python

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
Date: 2024/7/22 17:30
Desc: 申万宏源研究-行业分类
http://www.swhyresearch.com/institute_sw/allIndex/downloadCenter/industryType
"""
import io
import pandas as pd
import requests
from akshare.utils.cons import headers
def stock_industry_clf_hist_sw() -> pd.DataFrame:
"""
申万宏源研究-行业分类-全部行业分类
https://www.swsresearch.com/swindex/pdf/SwClass2021/StockClassifyUse_stock.xls
:return: 个股行业分类变动历史
:rtype: pandas.DataFrame
"""
url = "https://www.swsresearch.com/swindex/pdf/SwClass2021/StockClassifyUse_stock.xls" # 此处为 https
r = requests.get(url, headers=headers)
temp_df = pd.read_excel(
io.BytesIO(r.content), dtype={"股票代码": "str", "行业代码": "str"}
)
temp_df.rename(
columns={
"股票代码": "symbol",
"计入日期": "start_date",
"行业代码": "industry_code",
"更新日期": "update_time",
},
inplace=True,
)
temp_df["start_date"] = pd.to_datetime(
temp_df["start_date"], errors="coerce"
).dt.date
temp_df["update_time"] = pd.to_datetime(
temp_df["update_time"], errors="coerce"
).dt.date
return temp_df
if __name__ == "__main__":
stock_industry_clf_hist_sw_df = stock_industry_clf_hist_sw()
print(stock_industry_clf_hist_sw_df)