query_growth_data.py
sh:上海,sz: 深圳 ,
# -*- coding: utf-8 -*-
import os, sys
import baostock as bs
import pandas as pd
if len(sys.argv) ==3:
sz = sys.argv[1]
code = sys.argv[2]
else:
print('usage: python query_growth_data.py sh stockcode ')
print('usage: python query_growth_data.py sz stockcode ')
sys.exit(1)
if len(code) !=6:
print('stock code length: 6')
sys.exit(2)
# 登入系统
lg = bs.login()
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
#print('login respond error_msg:'+lg.error_msg)
stockcode = sz+'.'+code
print(stockcode)
# 中文字段名
gr_fields =['证券代码','发布财报的日期','财报统计的季度日期','净资产同比增长率','总资产同比增长率','净利润同比增长率','基本每股收益同比增长率','归属母公司股东净利润同比增长率']
# 季频成长能力
growth_list = []
for y in range(2010,2022):
rs_growth = bs.query_growth_data(code=stockcode, year=y, quarter=4)
while (rs_growth.error_code == '0') & rs_growth.next():
growth_list.append(rs_growth.get_row_data())
# 今年一季度
rs_growth = bs.query_growth_data(code=stockcode, year=2022, quarter=1)
while (rs_growth.error_code == '0') & rs_growth.next():
growth_list.append(rs_growth.get_row_data())
# 结果集转化为 pd.DataFrame
result_growth = pd.DataFrame(growth_list, columns=gr_fields)
# 打印输出原表头
#print(rs_growth.fields)
# 结果集输出到csv文件
csvfile = "D:/Investor/gr_"+code+".csv"
result_growth.to_csv(csvfile, encoding="gbk", index=False)
# 登出系统
bs.logout()
运行?python query_growth_data.py sz 000661
参考:?企业季频成长能力
|