Python自动获取指定上市公司的所有财务数据(资产负债表,利润表,现金流量表)
·
重要信息看下面!!!!!!
备注(2025-1-19更新的):
这篇文章的附件里面的程序的api_key过期不能用了,所以我这次抽出时间升级了我的这个产品,界面更简洁,更好用,直接买这个 : 批量获取上市公司财务数据(利润表、现金表、资产负债表) 就可以了。这个文章下面就不用看了。
不要购买本产品,直接买最新的就行!!!!!
重要信息看上面!!!!!!
使用教程:
首先把自己要获取的公司名称写入txt文件,

注意英文逗号隔开就行,每一行结尾也要英文逗号。
然后和程序放在一个文件夹下

(程序双击就能运行,自己改一下要获取的上市公司的名称就行,里面的源码嵌入的账号是我自己的,因此有权限获取财务数据)
运行完就能得到数据。
(ps:可以反复运行,但是不要在这个文件夹里面生成了excel文件后再运行,不然之前得到的excel表会被覆盖。运行过后就把获得到的excel挪到别的文件夹再来运行程序获得新的财务数据表)
import pandas as pd
import requests
from bs4 import BeautifulSoup
import os
def read_company_names(txt_file):
"""从txt文件读取公司名称,假设每行一个公司名,忽略逗号"""
if not os.path.exists(txt_file):
print(f"文件 {txt_file} 不存在")
return []
with open(txt_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
# 处理每行,去除逗号和空白字符
companies = [line.strip().rstrip(',') for line in lines if line.strip()]
return companies
def get_financial_data(company_name):
"""获取公司财务数据的示例函数,需替换为合法数据源的逻辑"""
# 这里仅为示例框架,实际需对接合法的财务数据API或爬取公开公告
print(f"正在获取 {company_name} 的财务数据...")
# 模拟数据,实际应从合法渠道获取
balance_sheet = pd.DataFrame({
'项目': ['资产总计', '负债总计', '所有者权益'],
'2023年': [100000, 50000, 50000],
'2022年': [90000, 45000, 45000]
})
income_stmt = pd.DataFrame({
'项目': ['营业收入', '净利润', '毛利率'],
'2023年': [60000, 10000, 30.5],
'2022年': [50000, 8000, 28.3]
})
cash_flow = pd.DataFrame({
'项目': ['经营活动现金流', '投资活动现金流', '筹资活动现金流'],
'2023年': [15000, -8000, 3000],
'2022年': [12000, -6000, 2000]
})
return {
'资产负债表': balance_sheet,
'利润表': income_stmt,
'现金流量表': cash_flow
}
def save_to_excel(data, company_name):
"""将财务数据保存到Excel"""
filename = f"{company_name}_财务数据.xlsx"
with pd.ExcelWriter(filename, engine='openpyxl') as writer:
for sheet_name, df in data.items():
df.to_excel(writer, sheet_name=sheet_name, index=False)
print(f"{company_name} 的财务数据已保存至 {filename}")
def main():
# 读取公司名称,默认从 companies.txt 读取
company_names = read_company_names('companies.txt')
if not company_names:
return
for company in company_names:
financial_data = get_financial_data(company)
save_to_excel(financial_data, company)
print("所有公司财务数据获取完成")
if __name__ == "__main__":
main()
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)