mns-common 1.4.0.4__py3-none-any.whl → 1.4.0.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mns-common might be problematic. Click here for more details.

@@ -5,7 +5,6 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 16
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
- import akshare as ak
9
8
  import mns_common.utils.date_handle_util as date_handle_util
10
9
  from loguru import logger
11
10
  import mns_common.utils.data_frame_util as data_frame_util
@@ -15,20 +14,87 @@ import mns_common.constant.db_name_constant as db_name_constant
15
14
 
16
15
  mongodb_util = MongodbUtil('27017')
17
16
 
17
+ """
18
+ Date: 2024/4/29 15:00
19
+ Desc: 东方财富网-数据中心-特色数据-停复牌信息
20
+ https://data.eastmoney.com/tfpxx/
21
+ """
22
+
23
+ import pandas as pd
24
+ import requests
25
+
26
+
27
+ def stock_tfp_em(date: str = "20240426") -> pd.DataFrame:
28
+ """
29
+ 东方财富网-数据中心-特色数据-停复牌信息
30
+ https://data.eastmoney.com/tfpxx/
31
+ :param date: specific date as "2020-03-19"
32
+ :type date: str
33
+ :return: 停复牌信息表
34
+ :rtype: pandas.DataFrame
35
+ """
36
+ url = "https://datacenter-web.eastmoney.com/api/data/v1/get"
37
+ params = {
38
+ "sortColumns": "SUSPEND_START_DATE",
39
+ "sortTypes": "-1",
40
+ "pageSize": "500",
41
+ "pageNumber": "1",
42
+ "reportName": "RPT_CUSTOM_SUSPEND_DATA_INTERFACE",
43
+ "columns": "ALL",
44
+ "source": "WEB",
45
+ "client": "WEB",
46
+ "filter": f"""(MARKET="全部")(DATETIME='{"-".join([date[:4], date[4:6], date[6:]])}')""",
47
+ }
48
+ r = requests.get(url, params=params)
49
+ data_json = r.json()
50
+ total_page = data_json["result"]["pages"]
51
+ big_df = pd.DataFrame()
52
+ for page in range(1, total_page + 1):
53
+ params.update({"pageNumber": page})
54
+ r = requests.get(url, params=params)
55
+ data_json = r.json()
56
+ temp_df = pd.DataFrame(data_json["result"]["data"])
57
+ big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
58
+
59
+ big_df.reset_index(inplace=True)
60
+
61
+ big_df["SUSPEND_START_TIME"] = pd.to_datetime(big_df["SUSPEND_START_TIME"], errors="coerce").dt.date
62
+ big_df["SUSPEND_END_TIME"] = pd.to_datetime(
63
+ big_df["SUSPEND_END_TIME"], errors="coerce"
64
+ ).dt.date
65
+
66
+ big_df["SUSPEND_START_DATE"] = pd.to_datetime(
67
+ big_df["SUSPEND_START_DATE"], errors="coerce"
68
+ ).dt.date
69
+ big_df["PREDICT_RESUME_DATE"] = pd.to_datetime(
70
+ big_df["PREDICT_RESUME_DATE"], errors="coerce"
71
+ ).dt.date
72
+
73
+ big_df = big_df[['index', 'SECURITY_CODE', 'SECURITY_NAME_ABBR', 'SUSPEND_START_TIME',
74
+ 'SUSPEND_END_TIME', 'SUSPEND_EXPIRE', 'SUSPEND_REASON', 'TRADE_MARKET',
75
+ 'SUSPEND_START_DATE',
76
+ 'PREDICT_RESUME_DATE'
77
+ ]]
78
+
79
+ return big_df
80
+
18
81
 
19
82
  def get_stock_tfp_by_day(str_day):
20
- stock_tfp_em_df = ak.stock_tfp_em(date_handle_util.no_slash_date(str_day))
83
+ stock_tfp_em_df = stock_tfp_em(date_handle_util.no_slash_date(str_day))
21
84
  stock_tfp_em_df = stock_tfp_em_df.rename(
22
- columns={'序号': 'index',
23
- '代码': 'symbol',
24
- '名称': 'name',
25
- '停牌时间': 'sus_begin_time',
26
- '停牌截止时间': 'sus_end_time',
27
- '停牌截止时间': 'sus_end_time',
28
- '停牌期限': 'sus_period',
29
- '停牌原因': 'sus_reason',
30
- '所属市场': 'market',
31
- '预计复牌时间': 'resume_time'
85
+ columns={'index': 'index',
86
+ 'SECURITY_CODE': 'symbol',
87
+ 'SECURITY_NAME_ABBR': 'name',
88
+ 'SUSPEND_START_TIME': 'sus_begin_time',
89
+ 'SUSPEND_END_TIME': 'sus_end_time',
90
+
91
+ 'SUSPEND_START_DATE': 'sus_begin_date',
92
+ 'PREDICT_RESUME_DATE': 'resume_time',
93
+
94
+ 'SUSPEND_EXPIRE': 'sus_period',
95
+ 'SUSPEND_REASON': 'sus_reason',
96
+ 'TRADE_MARKET': 'market',
97
+
32
98
  })
33
99
  return stock_tfp_em_df
34
100
 
@@ -60,3 +126,7 @@ def get_stock_tfp_symbol_from_db(str_day):
60
126
  except BaseException as e:
61
127
  logger.error("获取停牌信息异常:{}", e)
62
128
  return ['666666']
129
+
130
+
131
+ if __name__ == '__main__':
132
+ get_stock_tfp_symbol_list_by_day('2025-06-21')
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-common
3
- Version: 1.4.0.4
3
+ Version: 1.4.0.5
4
4
 
@@ -126,7 +126,7 @@ mns_common/component/self_choose/self_choose_service_api.py,sha256=v-ThYn5OMva-c
126
126
  mns_common/component/task/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
127
127
  mns_common/component/task/real_time_data_sync_check.py,sha256=Ss_7XRGCYPG5fwPLove2wtI-AF5r0x2S06DddaxyfY4,3333
128
128
  mns_common/component/tfp/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
129
- mns_common/component/tfp/stock_tfp_api.py,sha256=iYCBA4DjZZ1ioDKuB8z_uUEuhL0eWPY7K9QkQl9yrik,2135
129
+ mns_common/component/tfp/stock_tfp_api.py,sha256=_iScNNUmzEXeZ32PFQ_bFs3CErQk_188ESS3hUgCH7E,4455
130
130
  mns_common/component/trade_date/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
131
131
  mns_common/component/trade_date/trade_date_common_service_api.py,sha256=PHrcUjgLdNKbqyMGot0poKtiLBys_wRZoheMhPJE-U4,3032
132
132
  mns_common/component/zt/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
@@ -152,7 +152,7 @@ mns_common/utils/date_handle_util.py,sha256=XS-MyA8_7k35LOCFAYOHgVcVkMft_Kc4Wa9U
152
152
  mns_common/utils/db_util.py,sha256=hSmfNAN4vEeEaUva6_cicZEhb2jSnib-Gvk2reke1vc,2590
153
153
  mns_common/utils/file_util.py,sha256=egWu6PenGPRp_ixrNTHKarT4dAnOT6FETR82EHUZJnQ,1042
154
154
  mns_common/utils/ip_util.py,sha256=UTcYfz_uytB__6nlBf7T-izuI7hi4XdB6ET0sJgEel4,969
155
- mns_common-1.4.0.4.dist-info/METADATA,sha256=Xm6xKaHbQQAkKLCNFmPBd39P8tj9hraQvF1w99wMM4U,61
156
- mns_common-1.4.0.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
157
- mns_common-1.4.0.4.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
158
- mns_common-1.4.0.4.dist-info/RECORD,,
155
+ mns_common-1.4.0.5.dist-info/METADATA,sha256=uMWuC2SAXQOVQLx3eeukMndlQnWlGAAuQ7-9wHIsQcs,61
156
+ mns_common-1.4.0.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
157
+ mns_common-1.4.0.5.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
158
+ mns_common-1.4.0.5.dist-info/RECORD,,