美文网首页
扶贫填表

扶贫填表

作者: Noza_ea8f | 来源:发表于2024-07-26 08:25 被阅读0次

main.py

import pandas as pd
from lib.func import copy_and_rename_file, modify_cell_value


def read_income_data(file_path):
    df = pd.read_excel(file_path, sheet_name="收入明细", skiprows=4, index_col=0, dtype=str)
    # df = df[:-1]  # 去除最后一行数据
    row_lists = df.values.tolist()
    return row_lists


# 请将以下路径替换为您的实际文件路径
file_path = "俩表对比.xls"
data_lists = read_income_data(file_path)
print(data_lists)

for row_list in data_lists:
    source_file = "模板.xlsx"
    destination_folder = "生成"
    new_file_name = f"{row_list[0]}.xlsx"

    copy_and_rename_file(source_file, destination_folder, new_file_name)

    file_path = f"生成/{row_list[0]}.xlsx"
    sheet_name = "人均收入测算表"
    cell_reference = "A2"
    new_value = f"户主:     {row_list[0]}\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000户类型:脱贫户□   防贫监测户□\n \n当前家庭人口数: {row_list[1]}\u3000\u3000\u3000年度家庭人口数  {row_list[1]} \u3000\u3000\u3000\u3000\u3000\u3000调查时间:2024年\u3000\u3000月\u3000\u3000日"
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 公益岗
    cell_reference = "B5"
    new_value = row_list[18]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 最低生活保障金
    cell_reference = "B15"
    new_value = row_list[3]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 特困人员救助供养金
    cell_reference = "B16"
    new_value = row_list[4]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 养老金或离退休金
    cell_reference = "B17"
    new_value = row_list[5]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 计划生育金
    cell_reference = "B22"
    new_value = row_list[6]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 生态补偿金
    cell_reference = "B23"
    new_value = row_list[7]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 产业奖补
    cell_reference = "B24"
    new_value = row_list[10]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 交通补助
    cell_reference = "B25"
    new_value = row_list[11]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 孝心养老奖补
    cell_reference = "B27"
    new_value = row_list[13]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 残疾人补贴
    cell_reference = "D6"
    new_value = row_list[8]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 转移性收入
    cell_reference = "D8"
    new_value = row_list[22]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)
    # 非确权到户的资产收益分红
    cell_reference = "D9"
    new_value = row_list[15]
    modify_cell_value(file_path, sheet_name, cell_reference, new_value)

lib\func.py

import shutil
import os


def copy_and_rename_file(source_file, destination_folder, new_file_name):
    """
    复制文件到指定文件夹并以新名称命名

    参数:
    source_file (str):源文件的路径
    destination_folder (str):目标文件夹的路径
    new_file_name (str):新的文件名

    返回:
    None
    """
    # 检查目标文件夹是否存在,如果不存在则创建
    if not os.path.exists(destination_folder):
        os.makedirs(destination_folder)

    # 构建目标文件路径
    destination_file = os.path.join(destination_folder, new_file_name)

    # 复制文件
    shutil.copy(source_file, destination_file)

# source_file = "模板.xlsx"
# destination_folder = "test"
# new_file_name = "123.xlsx"
#
# copy_and_rename_file(source_file, destination_folder, new_file_name)


def modify_cell_value(file_path, sheet_name, cell_reference, new_value):
    workbook = load_workbook(file_path)
    sheet = workbook[sheet_name]
    sheet[cell_reference] = new_value
    workbook.save(file_path)


from openpyxl import load_workbook
from openpyxl.styles import Font


def underline_partial_text(file_path, sheet_name, cell_reference, start_index, end_index):
    workbook = load_workbook(file_path)
    sheet = workbook[sheet_name]
    cell = sheet[cell_reference]

    # 获取原始文本
    original_text = cell.value

    # 拆分文本为三部分:前缀、要加下划线的部分、后缀
    prefix = original_text[:start_index]
    underlined_part = original_text[start_index:end_index]
    suffix = original_text[end_index:]

    # 创建新的单元格内容,将下划线部分用特殊标记包裹
    new_text = prefix + f"__{underlined_part}__" + suffix

    # 设置单元格的值为新的文本
    cell.value = new_text

    # 定义一个字体样式,用于识别特殊标记并添加下划线
    underline_font = Font(underline='single')

    def set_underline(cell, text):
        if text.startswith("__") and text.endswith("__"):
            cell.font = underline_font
            return text[2:-2]
        return text

    # 遍历单元格内的每个字符
    new_value = ""
    for char in new_text:
        new_value += set_underline(cell, char)

    cell.value = new_value

    workbook.save(file_path)

VBA(添加下划线),有意思的是给EXCEL同一个单元格中的部分文字添加下划线python竟然无法实现,这里智能使用VBA了

Sub UnderlinePartInAllWorkbooks()
    Dim fso As Object
    Dim folder As Object
    Dim file As Object
    Dim wb As Workbook
    Dim ws As Worksheet

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder("E:\WorkPro\扶贫填表\生成")  '修改为您的文件夹路径

    For Each file In folder.Files
        If Right(file.Name, 5) = ".xlsx" Or Right(file.Name, 4) = ".xls" Then
            Set wb = Workbooks.Open(file.Path)
            Set ws = wb.Sheets(1)
            With ws.Range("A2").Characters(4, 12).Font  '户名
             .Underline = True
            End With
            With ws.Range("A1").Characters(1, 3).Font  '五指山
             .Underline = True
            End With
            With ws.Range("A2").Characters(58, 3).Font  '当前家庭人口数
             .Underline = True
            End With
            With ws.Range("A2").Characters(71, 3).Font  '庭人口数
             .Underline = True
            End With
            wb.Close SaveChanges:=True
        End If
    Next file
End Sub

相关文章

  • 下乡前记

    文|gdlkVen 明天又要去扶贫点了,上一次去还是一个月前。那里的工作倒是单调,就是填表填表,走访走访,...

  • (77)数字脱贫

    扶贫政策顺民心, 填表数字难精准。 无论病残与老弱, 说你脱贫就脱贫。

  • 日常吐槽——扶贫噩梦

    人生啊!操蛋啊。每天都是噩梦把我叫醒。做什么梦不好,做扶贫的梦。每天下乡扶贫,暑假,中秋,国庆都泡了汤,天天填表,...

  • 填表,填表

    甘肃省职称数据信息采集系统,密码YX123456;

  • 填表填表填表(拒绝私人收录)

    信息时代的弊端就是,非上班时间领导随时可以给你布置任务。 前几天,级部通知统计本组老师联系方式。填格子。 昨天又填...

  • 这个省开了先河:不得要求通过微信、QQ、APP等晒工作痕迹,坚决

    【 这个省开了先河:不得要求通过微信、QQ、APP等晒工作痕迹,坚决减少频繁填表报数,省级以下手机扶贫APP全部停...

  • 苦难的人生

    人活一世,什么最重要?良心?快乐?或是责任? 今天下队入户填表,面对的是精准扶贫户们。家中的陈设都很简陋,人群基本...

  • 填表

    今天去人力局拿档案,派遣证。 人很多,都挤在人力局狭窄逼仄的小空间里,什么都泛着凝重的铅灰色。冷漠的我混在冷漠的人...

  • 填表

    我正观看一档有关李亚鹏和徐静蕾的综艺节目,节目现场的大屏幕上回放了二十年前他俩合作的《将爱情进行到底》的精彩片断,...

  • 填表

    我也是醉了,填个乡村任教10年登记表居然如此复杂。且不说学习经历,也不说工作经历。只任教年限一栏就废掉了两张表格,...

网友评论

      本文标题:扶贫填表

      本文链接:https://www.haomeiwen.com/subject/rsnmhjtx.html