提取合同做台账用

博客涉及机器学习与人工智能相关内容,但具体信息缺失。机器学习和人工智能是信息技术热门领域,在众多场景有广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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("未选择文件夹!")

# Define the keywords
keyword1 = "需方:"
keyword2 = "合同编号"
# keyword3 = "合计"

# Create an empty DataFrame
result_df = pd.DataFrame(columns=['A', 'B', 'C'])

# Iterate over the files in the folder
for filename in os.listdir(folder_path):
    if filename.endswith('.xlsx') or filename.endswith('.xls'):
        file_path = os.path.join(folder_path, filename)

        # Read each file as a 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)

        # Append the values to the result 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)
# Save the result DataFrame to a new table
# 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表格里')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值