-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0-Get Fina Indicators Data.py
59 lines (54 loc) · 3.11 KB
/
0-Get Fina Indicators Data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import pandas as pd
import numpy as np
import tushare as ts
import sys
import xlwt
import seaborn
import matplotlib.pyplot as plt
import requests
import time
ts.set_token('9203526c35de212c7bb198947d2961fb20cf93beafcf547f3e50b24f')
pro = ts.pro_api()
stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name')
fina_indicators_2019_Q1 = pd.DataFrame(columns=stock_list['ts_code'].T,index=pro.query('fina_indicator', ts_code='600000.SH', start_date='20200101', end_date='20200930').columns[1:])
fina_indicators_2019_Q2 = pd.DataFrame(columns=stock_list['ts_code'].T,index=pro.query('fina_indicator', ts_code='600000.SH', start_date='20200101', end_date='20200930').columns[1:])
fina_indicators_2019_Q3 = pd.DataFrame(columns=stock_list['ts_code'].T,index=pro.query('fina_indicator', ts_code='600000.SH', start_date='20200101', end_date='20200930').columns[1:])
fina_indicators_2019_Q4 = pd.DataFrame(columns=stock_list['ts_code'].T,index=pro.query('fina_indicator', ts_code='600000.SH', start_date='20200101', end_date='20200930').columns[1:])
fina_indicators_2020_Q1 = pd.DataFrame(columns=stock_list['ts_code'].T,index=pro.query('fina_indicator', ts_code='600000.SH', start_date='20200101', end_date='20200930').columns[1:])
for i in stock_list['ts_code']:
if i == '000002.SZ':
a = pro.query('fina_indicator', ts_code=i, start_date='20190101', end_date='20201101')
dates = a['end_date'].to_list()
for date in dates:
if int(date) == 20190331: #一季度
if (a.loc[a['end_date'] == date].T[1:]).shape[0] == 107:#行数为107
fina_indicators_2019_Q1[i] = a.loc[a['end_date'] == date].T[1:].values
else:
pass
elif int(date) == 20190630:#二季度
if (a.loc[a['end_date'] == date].T[1:]).shape[0] == 107:
fina_indicators_2019_Q2[i] = a.loc[a['end_date'] == date].T[1:].values
else:
pass
elif int(date) == 20190930:#三季度
if (a.loc[a['end_date'] == date].T[1:]).shape[0] == 107:
fina_indicators_2019_Q3[i] = a.loc[a['end_date'] == date].T[1:].values
else:
pass
elif int(date) == 20191231:#四季度
if (a.loc[a['end_date'] == date].T[1:]).shape[0] == 107:
fina_indicators_2019_Q4[i] = a.loc[a['end_date'] == date].T[1:].values
else:
pass
elif int(date) == 20200331:
if (a.loc[a['end_date'] == date].T[1:]).shape[0] == 107:
fina_indicators_2020_Q1[i] = a.loc[a['end_date'] == date].T[1:].values
else:
pass
time.sleep(0.05)
print('Finish------------------',i)
fina_indicators_2019_Q1.to_excel('fina_indicators_2019_Q1.xlsx')
fina_indicators_2019_Q2.to_excel('fina_indicators_2019_Q2.xlsx')
fina_indicators_2019_Q3.to_excel('fina_indicators_2019_Q3.xlsx')
fina_indicators_2019_Q4.to_excel('fina_indicators_2019_Q4.xlsx')
fina_indicators_2020_Q1.to_excel('fina_indicators_2020_Q1.xlsx')