import tushare as ts
def get_gross_profit_margin(ts_code, start_date=None, end_date=None):
"""
获取上市公司毛利率数据
参数:
ts_code (str): 股票代码(如:'600000.SH')
start_date (str): 开始日期(如:'20200101')
end_date (str): 结束日期(如:'20231231')
返回:
pandas.DataFrame: 包含日期和毛利率的数据框
"""
try:
pro = ts.pro_api()
params = {'ts_code': ts_code}
if start_date:
params['start_date'] = start_date
if end_date:
params['end_date'] = end_date
df = pro.fina_indicator(**params)
result = df[['end_date', 'grossprofit_margin']].sort_values('end_date', ascending=False)
return result
except Exception as e:
print(f"获取数据时发生错误: {str(e)}")
return None