python:baostock 企业季频盈利能力

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()

# 显示登陆返回信息
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 q in range(1,5):
	rs_profit = bs.query_profit_data(code=stockcode, year=2021, quarter=q)
	while (rs_profit.error_code == '0') & rs_profit.next():
		profit_list.append(rs_profit.get_row_data())
# 今年4个季度
for q in range(1,5):
	rs_profit = bs.query_profit_data(code=stockcode, year=2022, quarter=q)
	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/profit_"+code+".csv"
result_profit.to_csv(csvfile, encoding="gbk", index=False)

# 登出系统
bs.logout()

运行 python query_profit_data.py sz 000661

参考: 企业季频盈利能力

你可能感兴趣的:(python,python,baostock)