python生成excel格式座位表
脚本分两个文件:
1.生成二维随机列表:GenerateLocaltion.py 2.将列表导入excel文件:CreateExcel.py
先上GenerateLocaltion.py:
import random
class Table(): localtion = [([1] * 9) for i in range(5)]
room = []
def inIt(self):
localtion = [([1] * 9) for i in range(5)]
for i in range(5):
localtion[i][0] = 0
#标志特殊位置
localtion[0][0] = 1
localtion[1][0] = 1
localtion[0][8] = 0
localtion[1][5] = 0
localtion[3] = [0] * 9
localtion[3][1] = 1
localtion[3][2] = 1
localtion[4][4] = 0
localtion[4][5] = 0
localtion[4] = [0] * 9
for i in range(5):
localtion[4][i] = 1 self.localtion = localtion
#生成随机列表
def generateRandomList(self):
#去掉空位
nothing = []
nothing.append(1)
nothing.append(13)
nothing.append(32)
nothing.append(31)
nothing.append(30)
nothing.append(29)
nothing.append(28)
nothing.append(27)
nothing.append(35)
nothing.append(36)
nothing.append(37)
nothing.append(38)
nothing.append(44) self.room = []
i = 0
while len(self.room) < 31:
m = int(random.random()*100 % 44 + 1)
if m not in self.room and m not in nothing:
self.room.append(m)
i += 1
return self.room
def generateLocal(self):
#随机列表对座位赋值
for i in range(5):
for j in range(9):
if self.localtion[i][j] == 1:
self.localtion[i][j] = self.room.pop(0)
return self.localtion
def getTable(self):
self.inIt()
self.generateRandomList() return self.generateLocal()
代码很长,主要因为要特殊照顾一些位置,思路就是生成一个足够个数的随机序列(不能重复,不能有对应空位的座位号)往二维列表里塞,其他的都很简单
CreateExcel.py:
用xlwt模块和easygui模块
xlwt中调用的函数:
sheet.write_merge()函数:参数1,2,3,4可以理解为用行和列描述一块区域,前两个为行,后两个为列例如,i,i+n,j,j+n,边长为n的正方形
sheet.write()函数:向单元格中填充内容,参数1,2表示单元格坐标,参数3表示填充的内容,参数4是单元格格式
'''
Created on 2017年7月21日 @author: Garbos
'''
#coding:utf-8
import xlwt
import easygui as g
from GenerateLocaltion import Table as table
def setUnitStyle(name,height,bold=False):
style = xlwt.XFStyle() font = xlwt.Font()
font.name = name
font.bold = bold
font.color_index = 4
font.height = height
style.font = font return style def createExcel():
#創建工作簿
e = xlwt.Workbook() #創建表格sheet1
sheet1 = e.add_sheet(u'sheet1',cell_overwrite_ok=True) #創建第一行
sheet1.write_merge(0,0,0,3,u'',setUnitStyle('Times New Roman',500,False))
sheet1.write_merge(0,0,3,10,u'ACM 404集训座位表',setUnitStyle('Times New Roman',500,False))
sheet1.write_merge(1,1,1,4,u'',setUnitStyle('Times New Roman',300,False))
sheet1.write_merge(1,1,6,10,u'',setUnitStyle('Times New Roman',300,False))
sheet1.write(1,5,u'讲台',setUnitStyle(u'微软雅黑',400,True))
sheet1.write_merge(3,5,5,6,u'走廊',setUnitStyle('Times New Roman',800,False))
sheet1.write_merge(2,2,5,6,u'',setUnitStyle('Times New Roman',300,False))
sheet1.write_merge(6,6,5,6,u'',setUnitStyle('Times New Roman',300,False))
sheet1.write(1,0,u'门',setUnitStyle(u'微软雅黑',400,False))
gt = table()
t = gt.getTable() for i in range(5):
for j in range(9):
if t[i][j] == 0:
continue
temp = j
if temp >= 5:
temp += 2
sheet1.write(i+2,temp,t[i][j],setUnitStyle(u'微软雅黑',250,False))
filename = '404座位表.xls'
e.save(filename)#坑,xlsx无法打开 remind = g.msgbox(msg = filename + ' 已生成!',title='404座位表生成器',
ok_button = '取消')
if __name__ =='__main__':
createExcel()
最后用Pyinstaller打包
python生成excel格式座位表的更多相关文章
- 小兴趣:用python生成excel格式座位表
脚本分两个文件: 1.生成二维随机列表:GenerateLocaltion.py 2.将列表导入excel文件:CreateExcel.py 先上GenerateLocaltion.py: impor ...
- Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式
Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...
- Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"
Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入 ...
- python生成Excel图表(通过xlsxwriter)
前面介绍了pandas的简单用法,pandas的数据可以通过matlab第三方包将数据生成报表,但是我想将报表生成在Excel中,这时候就可以借助xlsxwriter第三方包来生成图标 缺点:xl ...
- python 生成json格式文件,并存储到手机上
上代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- import json import os import random "" ...
- python生成excel测试数据
在功能测试时,经常会测到excel文件导入导出的功能,导入与导出时,需要测试系统单次导入大批量数据时是否正常, 如果系统承受不起太大的数据导入,则需要开发限制单次导入的数量,以防止系统服务异常.大量的 ...
- web利用table表格生成excel格式问题
当我们把web页面上的table导成excel形式时,有时候我们的数据需要以特定的格式呈现出来,这时候我们就需要给指定的单元格添加一些样式规格信息. 文本:vnd.ms-excel.numberfor ...
- (一)python 格式化 excel 格式
需求: 客户通过 sftp 上传了一个 poc测试的 excel文件, 下到 云桌面 查看,发现一堆格式问题, 怎么办呢? 公司又不允许 吧文件下载到本地处理, 只能在 服务器上进行处理. 一堆的类型 ...
- python 生成excel,并下载到本地
from django.shortcuts import reverse,redirect,render from operations import models import xlwt impor ...
随机推荐
- SQL Server研究之统计信息—发现过期统计信息并处理具体解释
前言: 统计信息是关于谓词中的数据分布的主要信息源,假设不知道详细的数据分布,优化器不能获得预估的数据集.从而不能统计须要返回的数据. 在创建列的统计信息后,在DML操作如insert.upda ...
- web安全之SQL注入---第三章 如何寻找sql注入?
借助逻辑推理1.识别web应用中所有输入点2.了解哪些类型的请求会触发异常3.检测服务器响应中的异常 总结: 输入点无非就是:地址栏.和输入框 输入康输入一些非法字符,导致后台的sql语句错误,
- Unity3d 中文菜单
- hdu_1226超级密码(BFS)
超级密码 Problem Description Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息:密码是 ...
- springboot带分页的条件查询
QueryDSL简介 QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询. Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者 ...
- 洛谷 1641 [SCOI2010]生成字符串
题目戳这里 一句话题意 求\(C_{m+n}^{m}\)-\(C_{m+n}^{m-1}\) Solution 巨说这个题目很水 标签居然还有字符串? 但是我还不很会用逆元真的太菜了,还好此题模数P为 ...
- 我的Android进阶之旅------>Android中android:visibility 属性VISIBLE、INVISIBLE、GONE的区别
在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为"visible "."invisible"."gone&quo ...
- 使用asn1tools进行asn1编解码
最近在做3GPP的编解码,发现有两个第三方库比较好用.一个是ASN1C(c语言编译环境),一个是python第三方库asn1tools.这里介绍下asn1tools的使用方法: 1 第一步:生成asn ...
- node.js版本升级
node有一个模块叫n(这名字可够短的...),是专门用来管理node.js的版本的. 首先安装n模块: npm install -g n 第二步: 升级node.js到最新稳定版 n stabl ...
- 将本地jar包手动复制到Maven库中,在其它电脑上用Maven打包时出错
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/UP19910522/article/details/31396107 背景交代:在做图片水印时候引入 ...