说明:
1.本程序所有基础数据search_index_shai, search_index_szhen,search_index_cnino均已从网络获取,直接处理即可。
2.search_index_cnino中存在大量search_index_shai、earch_index_szhen中已出现过的公告数据,现需要以search_index_shai、earch_index_szhen为准,将search_index_cnino中重复的部分删除,剩余的保留。
方法是通过比对anounce_date,trade_code,pdf_title三者是否都相同,如果都相同,则认为是相同文件。
3.可能会出现search_index_cnino与search_index_shai、earch_index_szhen中pdf_title接近相同,但不完全相同的情况,这种情况也认为是重复,需要删除,以search_index_shai、earch_index_szhen为准。
cnino数据
shai数据
可以看到,cnino的title比shai的title多了‘公司’两字,这种也认为是重复的。
4.本测试用例,仅列示了较常见的情况,全部数据处理时还有可能出现预料外的情况,以实际处理为准。
class OmissionFetch:
"""获取巨潮数据中与上交所、深交所不重复的部分,并且将三个渠道的数据集合化"""
def __init__(self):
""" """
def fetch_omi_index(self,search_index_shai, search_index_szhen, search_index_cnino):
"""
获取巨潮数据中与上交所、深交所不重复的部分,返回dataframe格式数据
:param search_index_shai:上交所修正后的search_index,即SHaiMIBhv获得的md_index
:param search_index_szhen:深交所修正后的search_index,即SZhenMIBhv获得的md_index
:param search_index_cnino:巨潮的search_index
:return: index_omi_cnino:函数返回值,缺漏数据清单,dataframe格式
"""
def fetch_set_index(self,search_index_shai, search_index_szhen, index_omi_cnino):
"""
获取上交所、深交所、巨潮三个渠道的数据的集合,返回dataframe格式数据
:param search_index_shai:上交所修正后的search_index,即SHaiMIBhv获得的md_index
:param search_index_szhen:深交所修正后的search_index,即SZhenMIBhv获得的md_index
:param index_omi_cnino:巨潮的search_index缺漏部分
:return: index_set:函数返回值,合并后的数据集合,dataframe格式
"""
测试用例:
#基础数据:
column_list = ['announce_date', 'company_name', 'pdf_id', 'pdf_path',
'pdf_title', 'source_code', 'status', 'trade_code', 'url_path']
a2_list = [['2017-08-04', '*ST爱富', '1010120170804100', None,
'第八届第九次(临时)监事会决议公告', '10101', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1010120170804105', None,
'国浩律师(上海)事务所关于上海三爱富新材料股份有限公司重大资产购买
及出售暨关联交易事项交易所重组三次问询函的专项法律意见书', '10101', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1010120170804107', None,
'与上海三爱富新材料科技有限公司重大资产出售协议之补充协议(一)', '10101', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1010120170804108', None,
'中国文化产业发展集团公司承诺函', '10101', 100, '600636', ''],
['2017-08-04', '弘光控股', '1030120170804928', None,
'H股公告', '10101', 100, '648457', '']
]
b2_list = [['2017-08-01', '中泰桥梁', '1020120170801453', None,
'关于收到《中国证监会行政许可申请终止审查通知书》的公告', '10201', 100, '002659', ''],
['2017-08-04', '中泰桥梁', '1020120170804189', None,
'关于重大事项停牌的进展公告', '10201', 100, '002659', ''],
['2017-08-05', '中泰桥梁', '102012017080582', None,
'2017年半年度报告摘要', '10201', 100, '002659', '']
]
c1_list = [['2017-08-04', '*ST爱富', '1030120170804281', None,
'中国文化产业发展集团公司承诺函', '10301', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1030120170804282', None,
'国浩律师(上海)事务所关于上海三爱富新材料股份有限公司重大资产购买
及出售暨关联交易事项交易所重组三次问询函的专项法律意见书', '10301', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1030120170804288', None,
'第八届第九次(临时)监事会决议公告', '10301', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1030120170804292', None,
'公司与上海三爱富新材料科技有限公司重大资产出售协议之补充协议(一)', '10301', 100, '600636', ''],
['2017-08-01', '中泰桥梁', '1030120170801919', None,
'关于收到《中国证监会行政许可申请终止审查通知书》的公告', '10301', 100, '002659', ''],
['2017-08-04', '中泰桥梁', '1030120170804297', None,
'关于重大事项停牌的进展公告', '10301', 100, '002659', ''],
['2017-08-05', '中泰桥梁', '1030120170805451', None,
'2017年半年度报告摘要', '10301', 100, '002659', ''],
['2017-08-04', '北辰实业', '1030120170804928', None,
'H股公告', '10301', 100, '601588', ''],
['2017-08-04', '北辰实业', '1030120170804929', None,
' H股公告', '10301', 100, '601588', ''],
['2017-08-04', None, '1030120170804928', None,
'H股公告', '10301', 100, '648457',''],
]
search_index_shai = pd.DataFrame(a2_list)
search_index_shai.columns = column_list
search_index_szhen = pd.DataFrame(b2_list)
search_index_szhen.columns = column_list
search_index_cnino = pd.DataFrame(c1_list)
search_index_cnino.columns = column_list
#开始测试:
fetch_omi_index:
输入:search_index_shai, search_index_szhen, search_index_cnino
输出:index_omi_cnino = pd.DataFrame(omi_list )
index_omi_cnino .columns = column_list
其中:
omi_list = [['2017-08-04', '北辰实业', '1030120170804928', None,
'H股公告', '10301', 100, '601588', ''],
['2017-08-04', '北辰实业', '1030120170804929', None,
' H股公告', '10301', 100, '601588', ''],]
fetch_set_index:
输入:search_index_shai, search_index_szhen, index_omi_cnino
输出:index_set = pd.DataFrame(index_set_list )
index_set .columns = column_list
其中:
index_set_list = [['2017-08-04', '*ST爱富', '1010120170804100', None,
'第八届第九次(临时)监事会决议公告', '10101', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1010120170804105', None,
'国浩律师(上海)事务所关于上海三爱富新材料股份有限公司重大资产购买
及出售暨关联交易事项交易所重组三次问询函的专项法律意见书', '10101', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1010120170804107', None,
'与上海三爱富新材料科技有限公司重大资产出售协议之补充协议(一)', '10101', 100, '600636', ''],
['2017-08-04', '*ST爱富', '1010120170804108', None,
'中国文化产业发展集团公司承诺函', '10101', 100, '600636', ''],
['2017-08-04', '弘光控股', '1030120170804928', None,
'H股公告', '10101', 100, '648457', ''],
['2017-08-01', '中泰桥梁', '1020120170801453', None,
'关于收到《中国证监会行政许可申请终止审查通知书》的公告', '10201', 100, '002659', ''],
['2017-08-04', '中泰桥梁', '1020120170804189', None,
'关于重大事项停牌的进展公告', '10201', 100, '002659', ''],
['2017-08-05', '中泰桥梁', '102012017080582', None,
'2017年半年度报告摘要', '10201', 100, '002659', ''],
['2017-08-04', '北辰实业', '1030120170804928', None,
'H股公告', '10301', 100, '601588', ''],
['2017-08-04', '北辰实业', '1030120170804929', None,
' H股公告', '10301', 100, '601588', ''],
]