企查查批量导出后数据整理——以股东信息为例,并上传至数据库。(附完整代码python)

关于企查查处理数据的问题都可以私信我哦。 还可以整理分支机构、主要人员、投资信息、附属子公司等。

1、批量提取数据

由于需要区分工商登记数据还是最新公示数据,所以选择将这两部分数据分开存放,当然也可以放在一起。(本文认为最新公示的企业属于上市企业,但是也存在一些未上市却即将上市的企业,工商登记属于未上市企业)。

源数据截图示例:

代码:

import os
import re
import pandas as pd
folder_path = r"C:\股东信息解压"
latest_announcement_data = []
business_registration_data = []
for filename in os.listdir(folder_path):
    if filename.endswith(".csv"):
        file_path = os.path.join(folder_path, filename)
        df = pd.read_csv(file_path, sep='\t', engine='python', skip_blank_lines=True)
        df=df.astype(str)
        df = df.applymap(lambda x: x.replace('=', '') if isinstance(x, str) else x)
        df = df.applymap(lambda x: x.replace(',', '') if isinstance(x, str) else x) 
        df = df.applymap(lambda x: x.replace('""', '"') if isinstance(x, str) else x) 
        df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)
        df = df[df['查企业  上企查查 , 联系电话:400-928-2212,'] != '" "']    
        current_state = None
        current_company = None
                for index, row in df.iterrows():
            line = row[df.columns[0]]
            
            company_match = re.match(r'"(.*)(公司|厂|大学|研究)(.*)', line)
            if company_match:
                current_company = company_match.group(1)+company_match.group(2)
            
            if line.startswith('"股东信息-最新公示'):
                current_state = "latest_announcement"
                continue
            elif line.startswit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值