首页 > 其他分享 >提取文件内合同做台账

提取文件内合同做台账

时间:2023-08-29 12:04:02浏览次数:34  
标签:提取 df cells values 合同 path keyword2 台账 keyword1

import pandas as pd
import os
import tkinter as tk
from tkinter import filedialog

# 创建tkinter窗口
root = tk.Tk()
root.withdraw()  # 隐藏主窗口


def get_desk_p():
    return os.path.join(os.path.expanduser('~'), "Desktop")


print(get_desk_p())
# 弹出对话框选择文件夹
folder_path = filedialog.askdirectory()

# 处理选择的文件夹
if folder_path:
    print("选择的文件夹路径:(提取合同编号用)", folder_path)
    # 进行其他操作...
else:
    print("未选择文件夹!")

# 定义可以word
keyword1 = "需方:"
keyword2 = "合同编号"
# keyword3 = "合计"

# 创建一个空表
result_df = pd.DataFrame(columns=['A', 'B', 'C'])

# 遍历文件夹中的文件
for filename in os.listdir(folder_path):
    if filename.endswith('.xlsx') or filename.endswith('.xls'):
        file_path = os.path.join(folder_path, filename)

        # 将每个文件读取为 DataFrame
        df = pd.read_excel(file_path)
        # filename_cell=df(filename)
        # Extract cells containing keyword1
        keyword1_cells = df.stack().str.contains(keyword1, na=False)
        keyword1_values = df.stack()[keyword1_cells].values
        keyword1_values = keyword1_values.astype(str)

        # Extract cells containing keyword2
        keyword2_cells = df.stack().str.contains(keyword2, na=False)
        keyword2_values = df.stack()[keyword2_cells].values
        keyword2_values = keyword2_values.astype(str)

        # keyword3_cells = df.stack().str.contains(keyword3, na=False)
        # keyword3_next_values = df.stack()[keyword3_cells].values
        # keyword3_next_values = keyword3_next_values.astype(str)

        # 将值追加到结果DataFrame中
        result_df = result_df._append(
            {'A': ', '.join(keyword1_values.tolist()), 'C': ', '.join(keyword2_values.tolist()),
             'B': filename.replace('.xls', '')}, ignore_index=True)
keywords = ['需方:', '合同编号:']
for keyword in keywords:
    result_df.replace(keyword, '', regex=True, inplace=True)
# 将结果 DataFrame 保存为新表格
# result_df.to_excel('C:/Users/Administrator/Desktop/2222.xlsx',index=False)
result_df.to_excel(get_desk_p() + '/合同222.xlsx', index=False)
print('完成', folder_path, '的提取,在桌面合同222表格里')

标签:提取,df,cells,values,合同,path,keyword2,台账,keyword1
From: https://blog.51cto.com/u_16240224/7274421

相关文章

  • 基于SpringBoot的保险合同管理系统的设计与实现
    现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本可盈保险合同管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事......
  • 提取最后一个分隔符前面的数据,这可难倒了大部分职场老人!
    1职场实例小伙伴们大家好,今天我们来解决一个公众号后台粉丝咨询的一个Excel问题:如何从一列数据中批量提取每个单元格中最后一个分隔符前面的数据(也可以理解为删除最后一个分隔符及后面的数据)。这个问题看似很难,其实也有简单的突破口。如下图所示:A列为一列数据,我们发现每个单元格中......
  • python如何提取浏览器中保存的网站登录用户名密码
    python如何提取Chrome中的保存的网站登录用户名密码?很多浏览器都贴心地提供了保存用户密码功能,用户一旦开启,就不需要每次都输入用户名、密码,非常方便。作为python脚本,能否拿到用户提前保存在浏览器中的用户名密码,用以自动登录呢?必须有,小爬已经提前踩过很多坑,找到了可行的......
  • BeautifulSoup:学习使用BeautifulSoup库进行HTML解析和数据提取。
    BeautifulSoup是一个用于解析HTML和XML文档的Python库。它可以帮助我们从网页中提取数据,并以易于操作的方式进行分析。以下是使用BeautifulSoup进行HTML解析和数据提取的基本语法:安装BeautifulSoup库:首先,你需要在你的Python环境中安装BeautifulSoup库。可以使用以下命令进行安......
  • 使用gr.inputs.File(type="fille")输入一个zip包,这个zip包是个图片文件夹,解压并提取其
    要在Gradio中使用 gr.inputs.File(type="file") 输入一个包含图片的Zip文件,并在函数中解压并提取其中的图片,您可以按照以下步骤进行操作:在您的函数中使用Python的zipfile模块来解压上传的Zip文件。从解压后的文件夹中获取图像文件,并进行处理。以下是一个示例代码......
  • windows桌面壁纸提取
    按下win+r键输入regedit,打开注册表在注册表编辑器窗口,依次展开HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers(可以直接复制粘贴这个路径),点击选中Wallpapers项目,在右侧窗口,观察名称为BackgroundHistoryPath0、1、2……的字符串后面显示的路......
  • unet建筑物提取
    :::block-2DataAssassin全网同号,数据免费获取请关注公众号DataAssassin,如有问题请添加公众号联系作者。感谢您的关注。:::今天我们将基于tensorflow2.7深度学习框架构建UNet网络并实现建筑物遥感影像的语义分割。文章将分成以下几个部分。数据预处理网络构建模型训练......
  • Python提取函数参数 inspect​​​模块
    1解析为字典https://blog.csdn.net/tutan123321/article/details/131319113defprint_params(**params):forkey,valueinparams.items():print(key+":"+str(value))2 __code__https://blog.csdn.net/weixin_44224529/article/details/1212588953i......
  • 代理IP中的账密提取和API提取是什么意思?
    在代理IP服务中,账密提取和API提取是两种常见的方式,用于获取和使用代理IP。账密提取:账密提取是指从代理IP服务提供商获取包含账户和密码的白名单。用户通过购买或订阅的方式获得账密白名单,其中包含了多个可用的代理IP账户和相应的密码。使用账密提取的方式,用户需要手动提取账户和密......
  • vscode提取扩展时出错XHR failed
    0前言  今天在vscode中安装插件的时候,出现“vscode提取扩展时出错XHRfailed”错误,接着查了一些资料,大部分都解释是代理的问题,我试了下关闭代理服务器,发现问题解决了。代理!代理!代理!1XHR是什么?1.1概念全称为XMLHttpRequest,用于与服务器交互数据,是ajax功能实现所依......