python3.8 提取xlsx表格内容填入单个文件

需求:有一个汇总表2025pingshen4.xlsx,记录了患者就医信息。需要提取某些内容生成单独的每一张专家评审意见表(固定格式)。

python 复制代码
from  openpyxl import Workbook, load_workbook
import os
import shutil

def create_all_file2():
    # openpyxl库仅对xlsx文件有效,xls(1997-2003)的表格文件不行
    wb_r = load_workbook("E:/code/py_code/pro1/2025pingshen4.xlsx")
    # 获取一个worksheet,可以通过名称或者索引获取
    # ws = wb_r['shiwu']  # 通过名称获取
    ws = wb_r.worksheets[0]  # 通过索引获取,索引从0开始
    # xlsx表的行数序号从1开始, 表格的前两行是表头,第3行开始是患者数据
    for row in ws.iter_rows(min_row=3, values_only=True):
        # 读取每行的数据,是一个元组,元组下标从0开始
        # (0'序号', 1'业务类型', 2'姓名', 3'性别', 4'人员类别', 5'银行名称', 6'开户名',
        # 7'银行账号', 8'业务登记号', 9'住院号', '待遇类别', 11'结算时间', 12'就诊日期', 13'因伤诊断',
        # 14'因病诊断', 15'医院名称', 16'社会保障号', 17'单位名称', 18'人员性质', 19'辖区', 20'业务交接号',
        # 21'审定结算单时间', 22'是否日间手术', 23'总费用', 24'科室名称', 25'床位号', 26'核准医疗费',
        # 27'起付标准', 28'社保工伤基金支付', 29'个人自费费用', 30'专家评审意见', 31'医院意见')
        xingming = row[2]
        xingbie = row[3]
        yewuhao = row[8]  # 业务登记号
        zhuyuanhao = row[9]  # 住院号
        js_shijian = row[11]   # 结算时间
        jz_riqi = row[12]  # 就诊日期
        ys_zhenduan = row[13]  # 因伤诊断
        yiyuan = row[15]   # 医院名称
        jin_e = row[28]  # 金额
        zj_yijian1 = row[30]  # 初审专家意见
        yy_yijian = row[31]  # 医院意见

        source_file = 'E:/code/py_code/pro1/dange.xlsx'  # 需要提取数据到指定格式的文件
        # 目标文件路径(不包括新文件名)
        destination_dir = 'E:/code/py_code/pro1/output/'
        # 完整的目标文件路径(包括新文件名),这里以业务登记号命名每个文件
        destination_file = destination_dir + yewuhao + '.xlsx'

        # 复制文件到目标目录,同时命名为新文件名
        shutil.copyfile(source_file, destination_file)
        # 读取单元格B1的值,使用cell方法
        # value = ws.cell(row=1, column=2).value

        if not os.path.exists(destination_file):
            exit(1)
        # 创建一个Workbook对象,这将会创建一个新的Excel文件
        # wb_w = Workbook()
        wb_w = load_workbook(destination_file)
        # 获取当前活跃的worksheet
        ws = wb_w.active
        # 改变worksheet的名称
        ws.title = zhuyuanhao

        # 在单元格B2, D2...写入数据
        ws['B2'] = xingming
        ws['D2'] = xingbie
        ws['F2'] = zhuyuanhao
        ws['B3'] = js_shijian
        ws['D3'] = jz_riqi
        ws['F3'] = ys_zhenduan
        ws['B4'] = yiyuan
        ws['F4'] = jin_e
        ws['B5'] = zj_yijian1
        ws['B6'] = yy_yijian

        # 在单元格B1写入数据
        # ws.cell(row=1, column=2).value = "Welcome to openpyxl"

        # 保存Excel文件
        # wb_w.save("E:/code/py_code/pro1/output/dong_" + yewuhao + ".xlsx")
        wb_w.save(destination_file)
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    # 加载现有的Excel文件
    create_all_file2()
    print_hi(' ok')
相关推荐
B站_计算机毕业设计之家18 分钟前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
渣渣苏25 分钟前
Langchain实战快速入门
人工智能·python·langchain
lili-felicity34 分钟前
CANN模型量化详解:从FP32到INT8的精度与性能平衡
人工智能·python
数据知道37 分钟前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
呉師傅43 分钟前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同7651 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子1 小时前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
白日做梦Q1 小时前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
喵手1 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv