python财务报表书籍_Python读财报-获取财务报表
學(xué)習(xí)了一段時(shí)間python,學(xué)以致用,結(jié)合財(cái)報(bào)練練手。
代碼環(huán)境:WIN10、Aanconda3、Jupyter notebook
第三方庫(kù):pandas 、os、tuahare、datetime、time
總體思路:
第1步:獲得A股股票代碼
第2步:循環(huán)所有股票代碼,獲取每個(gè)股票代碼的利潤(rùn)表、資產(chǎn)負(fù)債表、現(xiàn)金流量表
針對(duì)三個(gè)財(cái)務(wù)報(bào)表,構(gòu)建3個(gè)函數(shù),函數(shù)代碼結(jié)構(gòu)類似
第1步:得到個(gè)股利潤(rùn)表數(shù)據(jù)
第2步:檢測(cè)是否有保存過(guò)的數(shù)據(jù),如果有添加到末尾
第3步: 保存為CSV文件
具體代碼:
引入第三方庫(kù)
#引入第三方庫(kù)
import pandas as pd
import os
import tushare as ts
import datetime
import time
第1個(gè)函數(shù),獲取利潤(rùn)表
# 第1個(gè)函數(shù),獲取每個(gè)股票的利潤(rùn)表,
# 文件路徑:C:\DataAnalysis\Data\00.LirunbiaoCN
def stockLirunbiao(ticker, folder):
# 第1步:得到個(gè)股利潤(rùn)表數(shù)據(jù)
dfLirunbiao = pro.income(ts_code = ticker )
# 第2步:檢測(cè)是否有曾經(jīng)查詢過(guò)的數(shù)據(jù),如果有添加到末尾
file = folder + '/' + ticker + '.csv'
if os.path.lexists(file):
history = pd.read_csv(file, index_col = 0)
dflirunbiao.append(history)
# 第3步:保存為CSV文件
dfLirunbiao .to_csv(file)
print('dfLirunbiao for [' + ticker + '] got.')
第2個(gè)函數(shù):獲取資產(chǎn)負(fù)債表
# 第2個(gè)函數(shù),獲取每個(gè)股票的資產(chǎn)負(fù)債表,
#文件路徑C:\DataAnalysis\Data\00.ZichanfuzhaibiaoCN
def stockZichanfuzhaibiao(ticker, folder):
# 第1步:得到個(gè)股資產(chǎn)負(fù)債表數(shù)據(jù)
dfZichanfuzhaibiao = pro.balancesheet(ts_code = ticker)
# 第2步:檢測(cè)是否有曾經(jīng)查詢過(guò)的數(shù)據(jù),如果有添加到末尾
file = folder + '/' + ticker + '.csv'
if os.path.lexists(file):
history = pd.read_csv(file, index_col=0)
dfZichanfuzhaibiao.append(history)
# 第3步:保存為CSV文件
dfZichanfuzhaibiao.to_csv(file)
print('dfZichanfuzhaibiao for [' + ticker + '] got.')
第3個(gè)函數(shù):獲取現(xiàn)金流量表
# 第3個(gè)函數(shù),獲取每個(gè)股票的現(xiàn)金流量表,
# 文件路徑:C:\DataAnalysis\Data\00.XianjinliuliangbiaoCN
def stockXianjinliuliangbiao(ticker, folder):
# 第1步:得到個(gè)股現(xiàn)金流量表數(shù)據(jù)
dfXianjinliuliangbiao = pro.cashflow(ts_code=ticker)
# 第2步:檢測(cè)是否有曾經(jīng)查詢過(guò)的數(shù)據(jù),如果有添加到末尾
file = folder + '/' + ticker + '.csv'
if os.path.lexists(file):
history = pd.read_csv(file, index_col=0)
dfXianjinliuliangbiao .append(history)
#第3步:保存為CSV文件
dfXianjinliuliangbiao .to_csv(file)
print('dfXianjinliuliangbiao for [' + ticker + '] got.')
初始化Tushare庫(kù)接口
#Tushare初始化
#輸入tushare pro版Token
ts.set_token('接口密鑰')
#初始化pro接口
pro = ts.pro_api()
獲取股票代碼
#第1步。獲得A股股票代碼
tickersRawData = pro.stock_basic()
tickers = tickersRawData["ts_code"].unique().tolist()
print(tickers)
循環(huán)股票代碼,獲取三個(gè)財(cái)務(wù)報(bào)表
#第2步。循環(huán)所有股票代碼,獲取每個(gè)股票代碼的利潤(rùn)表、資產(chǎn)負(fù)債表、現(xiàn)金流量表
for i, ticker in enumerate(tickers):
print('完成循環(huán)', i, '/', len(tickers))
try:
stockLirunbiao(ticker, folder='../data/00.LirunbiaoCN')
stockZichanfuzhaibiao(ticker, folder='../data/00.ZichanfuzhaibiaoCN')
stockXianjinliuliangbiao(ticker, folder='../data/00.XianjinliuliangbiaoCN')
time.sleep(2)
except:
pass
if i > 7:
break
print('全部完成 for all stocks got.')
總結(jié)
以上是生活随笔為你收集整理的python财务报表书籍_Python读财报-获取财务报表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于matlab的单周期控制三相高功率因
- 下一篇: python数组长度查询_python