首页 > 编程语言 >python 读取社保年度对账单数据

python 读取社保年度对账单数据

时间:2023-11-16 09:48:12浏览次数:39  
标签:账单 缴费 python df pd pdf PDF data 读取


"""
    python 读取  社保年度对账单  pdf 数据
"""
import pandas as pd
import pdfplumber
pd.set_option('display.width', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.max_colwidth', None)
pd.set_option('display.float_format',  '{:,.3f}'.format)


def search(PDF_path):
    total_data = []
    data = []
    with pdfplumber.open(PDF_path) as pdf:
        pages_data = [page.extract_text() for page in pdf.pages]  # 读取PDF每页的文本,共多少页,pages_data就有几个元素

    # 将pages_data内的元素按“\n”拆分放入data列表
    for item in pages_data:
        data += item.split("\n")

    total_data += data
    # print(total_data)
    total_data = total_data[2:-5]
    columns = ['月缴费工资', '养老月缴费基数', '养老单位缴费', '养老个人缴费', '失业月缴费基数', '失业单位缴费', '失业个人缴费', '工伤月缴费基数', '工伤单位缴费',
               '医疗(生育)月缴费基数', '医疗(生育)单位缴费', '医疗(生育)个人缴费']
    df = pd.DataFrame()
    target = [item.split(' ') for item in total_data]
    # print(target)
    for x in target:
        df_sub = pd.DataFrame(x).T

        df = pd.concat([df, df_sub], axis=0)
        # print(df)
        # exit()
    df = df.reset_index(drop=True)
    # ind = df[~df[0].str.contains('至')].index   # 找到 第 0 列 不包含 ‘至’ 的 行的 index
    # df.drop(ind, inplace=True)                  # 删除 不包含 某些 索引号 的 行
    df.columns = columns
    return df


if __name__ == '__main__':
    # pdf文件地址
    PDF_file = 'J:\规章制度\其他\HTG Locker\wx\社会保险记录\各年度对账单\\2022年年度对账单.pdf'
    Out_file = 'J:\规章制度\其他\HTG Locker\wx\社会保险记录\各年度对账单\\2022年年度对账单.csv'
    # PDF_path = os.path.dirname(PDF_file)
    # PDF_FileName = os.path.abspath(PDF_file).split('\\')[-1]
    if PDF_file.endswith(".pdf"):
        df = search(PDF_file)
        print(df.head(100))
    else:
        print("所提供文件 非 pdf文件!")
    df.to_csv(Out_file, index=False)


标签:账单,缴费,python,df,pd,pdf,PDF,data,读取
From: https://www.cnblogs.com/HeroZhang/p/17835472.html

相关文章

  • python:第八章:macos为python配置环境变量(3.12.0)
    一,查看老版本的python信息:1,启动终端,查看旧的python的版本liuhongdi@192~%python--version Python3.9.12,查看旧的pytnon的安装路径 liuhongdi@192~%whichpython python:aliasedto/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9二......
  • python:第七章:macos安装python(3.12.0)
    一,下载python点击Downloads->macOS:点击安装包链接下载:二,安装双击下载的安装包,进入安装界面,点继续按钮,如图:一步一步点击继续,此处点击同意按钮:此处点击安装按钮:安装完成后点击关闭按钮即可,如图:说明:刘宏缔的架构森林—专注it技术的博客,网站:https://blo......
  • Picamera2 Python library
    安装目前2022年之后的镜像已经预装了picamera2,如果需要安装使用sudoaptinstall-ypython3-picamera2此包会安装X-windows和GUI依赖,如果不需要使用,sudoaptinstall-ypython3-picamera2--no-install-recommands也可以使用pip安装sudoaptinstall-ypython3-li......
  • Python连接Oracle
    报错信息: Traceback(mostrecentcalllast):cx_Oracle.DatabaseError:DPI-1047:Cannotlocatea64-bitOracleClientlibrary:"libclntsh.so:cannotopensharedobjectfile:Nosuchfileordirectory".Seehttps://cx-oracle.readthedocs.io/en/latest/......
  • 基于Python的热门旅游景点数据分析系统的设计与实现-计算机毕业设计源码+LW文档
    开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:PyCharm浏览器:谷歌浏览器DROPTABLEIFEXISTS08375_menpiaoxinxi;/*!40101SET@saved_cs_client=@@character_set_client/;/!40101SETcharacter_set_cl......
  • 基于Python的高校成绩分析-计算机毕业设计源码+LW文档
    摘 要随着计算机技术发展,计算机系统的应用已延伸到社会的各个领域,大量基于网络的广泛应用给生活带来了十分的便利。所以把高校成绩分析与现在网络相结合,利用计算机搭建高校成绩分析系统,实现高校成绩分析的信息化。则对于进一步提高高校成绩分析管理发展,丰富高校成绩分析管理经验......
  • python相关命令
    管理员权限:set-executionpolicyremotesignedpython-Vnvidia-smipython-mvenvvenv./vevn/Scripts/activate.batorvenv\Scripts\Activate.ps1pip3installtorchtorchvisiontorchaudio--index-urlhttps://download.pytorch.org/whl/cu116pipinstall-rrequir......
  • 【re】brainfuck转python代码
    直接用脚本:defshrinkBFCode(code):  cPos2Vars={} #位置对应的变量  cPos2Change={} #位置中+号增加的值  varPos=0  nCode=[]  incVal=0  lc=None  dataChangeOp=set(['+','-'])  dataShiftOp=set(['>',&#......
  • Python实现端口扫描
    实验环境攻击主机IP:172.18.53.145目标主机IP:172.18.53.28脚本编写思路:遍历连接目标的所有端口,如果连接成功说明该端口开放,为了提升效率,使用多线程执行代码实现如下:importthreadpoolimportsocketip=input("Entertheipaddressyouwanttoscan:")print("startpo......
  • mac上python安装mysqlclient模块方法
    运行pycharm后,打开命令行窗口确保您已经安装了MySQL,并且包括了MySQL的开发文件。您可以通过Homebrew来安装MySQL:brewinstallmysql#安装mysqlclient之前,先安装openssl:brewinstallopenssl#使用以下命令来安装mysqlclient:envLDFLAGS="-I/usr/local/opt/openssl/i......