美文网首页
编排统考考场(基于xml文件)

编排统考考场(基于xml文件)

作者: Noza_ea8f | 来源:发表于2020-09-10 08:45 被阅读0次

该程序用了三个库:

  • 对文件路径的处理;
  • 对xml文件的处理;
  • 利用pandas将数据转换成DateFrame写入Excel

可以说这是一个综合应用;

import os
import pandas as pd
from xml.dom.minidom import parse


def get_filenames(file_dir):
    '''
    获取所有xml的文件名
    :param file_dir:xml存放的文件路径
    :return:xml文件名列表
    '''
    for root, dirs, files in os.walk(file_dir):
        # print('files:', files)  # 当前路径下所有非目录子文件
        return files


def get_exam_data(path):
    '''
    提取xml文件信息
    :param path:
    :return:
    '''
    ls = []
    domTree = parse(path)
    # 文档根元素
    rootNode = domTree.documentElement
    # SceneName = rootNode.getElementsByTagName('SceneName')[0].firstChild.data
    # 轮次 ShiftName
    ShiftName = rootNode.getElementsByTagName('ShiftName')[0].firstChild.data
    # 日期时间
    ExamTime = rootNode.getElementsByTagName('ExamTime')[0].firstChild.data
    examDate = ExamTime.split(' ', 1)[0]
    examTime = ExamTime.split(' ', 1)[1]
    # 机房
    ExamRoomName = rootNode.getElementsByTagName('ExamRoomName')[0].firstChild.data
    # 考生人数
    StudentCount = rootNode.getElementsByTagName('StudentCount')[0].firstChild.data
    # 将文件信息添加进列表
    ls.append(ShiftName)
    ls.append(ExamRoomName)
    ls.append(StudentCount)
    ls.append(examDate)
    ls.append(examTime)
    return ls


path = '统考/data/'
data_ls = []
for filename in get_filenames(path):
    # 只取xml文件
    if filename.split('.', 1)[1] == 'xml':
        # 如果是xml文件,就提取数据,加入data_ls列表
        data_ls.append(get_exam_data(f'{path}{filename}'))

# 表头
title = ['轮次', '机房', '考生人数', '日期', '时间']
df = pd.DataFrame(data_ls, columns=title)
# 写入excel 
df.to_excel('exam.xlsx', index=False)

相关文章

  • 编排统考考场(基于xml文件)

    该程序用了三个库: 对文件路径的处理; 对xml文件的处理; 利用pandas将数据转换成DateFrame写入E...

  • 用 XML 配置来编排测试套件

    用 XML 配置来编排测试套件 PHPUnit的 XML 配置文件(附录 C)也可以用于编排测试套件。例 5.1展...

  • 编排考场

    自动编排通过设置考场数量完成多余考生的插入 我发现一个有趣的现象;如果我把考场限定为比如4场;那么在编排考场后就会...

  • 从0开始的Spring(03)-配置Bean

    1 配置形式:基于XML文件的方式;基于注解的方式 1.1 基于XML文件的方式 class:Bean的全类名,通...

  • Mybaties入门

    在maven环境下运用mybaties, 基于xml 文件的配置: 实体类 .java和对应的xml映射文件 基于...

  • Spring中的Bean的配置形式

    Spring中Bean的配置形式有两种,基于XML文件的方式和基于注解的方式。 1.基于XML文件的方式配置Bea...

  • 二、Mybatis增、删、改、查基于XML和注解

    文件结构 2.1基于XML的增、删、改、查 2.1.1定义sql映射文件 2.1.2在config.xml文件中注...

  • Mybatis 初始化

    结合源码! MyBatis的初始化可以有两种方式: 基于XML配置文件:基于XML配置文件的方式是将MyBatis...

  • Spring XML、注解、Java类 配置

    配置Spring一般包括3中方式 基于XML的配置文件 基于注解的配置 基于Java的配置 基于XML的配置 这个...

  • PHP XML

    1. XML Expat 解析器(基于事件) 工作原理 使用的xml文件test.xml 通过 xml_parse...

网友评论

      本文标题:编排统考考场(基于xml文件)

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