query_profit_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_profit_data.py sh stockcode ')
print('usage: python query_profit_data.py sz stockcode ')
sys.exit(1)
if len(code) !=6:
print('stock code length: 6')
sys.exit(2)
# 登入系统
lg = bs.login()
#lg = bs.login(user_id="anonymous", password="123456")
# 显示登陆返回信息
print('login respond error_code:'+lg.error_code)
#print('login respond error_msg:'+lg.error_msg)
stockcode = sz+'.'+code
print(stockcode)
# 中文字段名
pro_fields =['证券代码','发布财报的日期','财报统计的季度日期','净资产收益率(平均)(%)','销售净利率(%)','销售毛利率(%)','净利润(元)','每股收益','主营营业收入(元)','总股本','流通股本']
# 季频盈利能力
profit_list = []
for y in range(2010,2022):
rs_profit = bs.query_profit_data(code=stockcode, year=y, quarter=4)
while (rs_profit.error_code == '0') & rs_profit.next():
profit_list.append(rs_profit.get_row_data())
# 今年一季度
rs_profit = bs.query_profit_data(code=stockcode, year=2022, quarter=1)
while (rs_profit.error_code == '0') & rs_profit.next():
profit_list.append(rs_profit.get_row_data())
# 结果集转化为 pd.DataFrame
result_profit = pd.DataFrame(profit_list, columns=pro_fields)
# 打印输出原表头
#print(rs_profit.fields)
# 结果集输出到csv文件
csvfile = "D:/Investor/pro_"+code+".csv"
result_profit.to_csv(csvfile, encoding="gbk", index=False)
# 登出系统
bs.logout()
运行 python query_profit_data.py sz 000661
参考: 企业季频盈利能力
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)