Giter Site home page Giter Site logo

python_drive_excel_xls's Introduction

简介

这个程序是用python处理.xls表格(注意不是.xlsx), 根据表格中提供的学生错题的题号,将对应的解析填入相应的单元格中

使用

1. 需要提供的数据

(1). 待处理的Excel表格

错题题号之间只能用空格或者"-"连接,其它符号一律不识别, 而且用"-"连接的两个题号之间不能出现空格。 之所以设置备份,是为了防止表格填写不准确导致程序不能正常运行, 要重新下载和修改表格。 另外需要说明的是, 对于错题题号是空的单元格,程序会自动根据学生的成绩一栏是否是空来判断,学生是全对还是缺席。

(2). 答案库

存放错题解析的内容, 以txt文件保存, 每一题的错题解析占一行。

2. 目录结构

程序主要处理两种内容的表格:

  • 包含单元测和默写两项
  • 包含课前测和默写两项。

因此针对性的设置了配置文件,以及程序目录结构。 程序主目录下有三个文件夹: 这里写图片描述

其中,

  • 答案库: 存放错题解析文件
  • “单元测_默写”和“课前测_默写”结构一样:
    • backup: 存放修改好的,格式符合标准的待处理表格。
    • 尖子班: 从backup中将尖子班的表格移至此文件夹下, 若运行成功, 就将处理号的表格移到完成文件夹下(手动); 否则, 若程序出错, 则修改backup中对应的表格并将其复制到尖子班中替换问题表格。
    • 提高班: 操作基本同上,只是操作对象是提高班表格
    • 完成: 最终处理好的程序都保存在该文件夹下, 可以手动打包直接发送。

3. 插入图片

文件中有"满分.bmp"图片,因为excel表格无法让单元格自适应内容的大小, 所以不能保证用程序插入图片后, 还能保持表格的整洁清晰。 有需要的话,可以自行手动插入对应的位置, 并适当调整单元格大小。

4. 配置文件

  • 配置文件的具体内容和配置方法在Snow_XES.cfg中已经注明了, 这里不造轮子了。
  • 需要说明的是, 实际上,该程序可以处理任意结构的“错题解析”表格, 只要修改配置文件中的错题题号所在的列和解析填写的列号就可以了。
  • 再提醒下, 在windows上写路径用"", Linux上用"/"分隔。

5. 后续改进

  • 将程序中更多的变量进一步提取到配置文件中,实现更丰富细致的定制(例如: XFStyle的内容、 满分的判断:fullScores)。
  • 注意跨平台(linux ->windows)移植的兼容性(程序中对平台的判断)。 例如: 中文字符编码不一致导致程序不能正常运行的问题(文件名和文件路径)。
  • 用openpyxl 模块开发可以处理xlsx文件的程序。

6. 对程序员说的话

  • 所有合并的单元格的值的获取,为第一行/列的值
  • cfg文件中的注释 使用#或; 但是不可以和item 在一行
  • virtualenv 并不能保证跨平台移植的兼容性
  • 列出安装包,方便平台移植到windows上(也可以不列出,直接移植后缺啥补啥)

python_drive_excel_xls's People

Contributors

david-webb avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.