1、房间号和姓名写在house_name.xls的house标签页中【注意!名字均不要改动】

2、运行house.py

3、当前同目录下会生成result.xls,即为结果;程序运行过程中不要打开该文件,运行完成后再打开,否则结果无法写入

4、若要重新生成,重新运行house.py即可,结果会重新生成

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import os, shutil, random, sys, json

from os.path import join

from xlrd import open_workbook

from xlutils.copy import copy

default_encoding = 'utf-8'

if sys.getdefaultencoding() != default_encoding:

stdi, stdo, stde = sys.stdin, sys.stdout, sys.stderr

reload(sys)

sys.setdefaultencoding(default_encoding)

sys.stdin, sys.stdout, sys.stderr = stdi, stdo, stde

url_excel_path = 'house_name.xls'

result_excel_path = 'result.xls'

sheet_name = 'house'

class house:

def read_excel(self, sheet_name):

workbook = open_workbook(url_excel_path)

# 读取sheet1表的内容

sheet1_content = workbook.sheet_by_name(sheet_name)

# 获取sheet1表中的行数

row_count = sheet1_content.nrows

# print row_count

# 读取第1列的内容

all_house = sheet1_content.col_values(0)

all_house = json.dumps(all_house)

# 读取第2列的内容

all_name = sheet1_content.col_values(1)

return all_name

def Write_Excel(self, sheetName, rowIndex, lineIndex, content):

"""

- rowIndex:行

- lineIndex:列

"""

if not os.path.exists(result_excel_path):

print "%s not exists" % result_excel_path

shutil.copy(url_excel_path, result_excel_path)

rowIndex = int(rowIndex)

lineIndex = int(lineIndex)

rb = 'r+w'

rb = open_workbook(result_excel_path, 'r')

rbook = open_workbook(result_excel_path, 'w')

wb = copy(rbook)

sheetIndex = rbook.sheet_names().index(sheetName)

wb.get_sheet(int(sheetIndex)).write(int(rowIndex), int(lineIndex), content)

wb.save(result_excel_path)

def random_name(self, sheet_name):

# houselist = self.read_excel(sheet_name)[0]

namelist = self.read_excel(sheet_name)

print "name:%s" % namelist

# 打乱姓名

random.shuffle(namelist)print "new name:%s" % namelist

length = len(namelist)

for i in xrange(length):

print i

print namelist[i]

self.Write_Excel(sheet_name, i, 1, namelist[i])

def check_then_create(self, file_path):

"""

检查文件夹是否存在,不存在则自动创建

"""

isExists = os.path.exists(file_path)

if not isExists:

os.makedirs(file_path)

if __name__ == '__main__':

obj = house()

# obj.read_excel(sheet_name)

obj.random_name(sheet_name)

python开发目录合并小工具 PathMerge

前言 这个程序陆陆续续开发了几天,正好我在学Python,就一边做一边学,倒是学到不少东西. 不得不说python是快速开发的好工具. 程序做了一些改进,这两天又忙着毕设,现在才想起来发到博客上.想想 ...

python 3.6 MJ小工具

2017.07.14 update 做了个界面,不需要使用cmd命令行+文件路径的方式来使用了: 链接如下: http://www.cnblogs.com/chenyuebai/p/7150382.h ...

目不识丁的我使用Python编写汉字注音小工具

一万点暴击伤害 人懒起来太可怕了,放了个十一充分激发了我的惰性.然后公众号就这么停了半个月,好惭愧- 新学期儿子的幼儿园上线了APP,每天作业通过app布置后,家长需要陪着孩子学习,并上传视频才算完成 ...

python转exe的小工具

其实只是在cxfreeze的基础上加了个壳,做成窗口软件了 使用了pyqt做的界面,软件发布在了开源中国上,可以直接去下面的地址查看 http://git.oschina.net/robocky/py ...

Python: tkinter实例改名小工具

#!/usr/bin/env python #coding=utf-8 # # 版权所有 2014 yao_yu (http://blog.csdn.net/yao_yu_126) # 本代码以MIT ...

入坑python 自己写的小工具,纪念一下

这个程序的功能是可以从表格中读取某一列数据,传到IDs 这一个参数里,然后在url中获取相应的请求值,并打印 import urllib.request import json import xlrd ...

python一些实用的小工具

1  搭一个简易的本地局域网  python -m http.server 2 获取当前目录下的所有文件名 3 进度条效果 import sys,time for i in range(50): sy ...

python之字符聊天小工具

server side: # coding: gb2312#socket server端#获取socket构造及常量from socket import *#''代表服务器为localhostmyHo ...

几个可以提高工作效率的Python内置小工具

在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有新来的同事看到我这么使用时,都忍不住感叹, ...

随机推荐

【学习笔记】ES6标准入门

这里简要记录一下对自己感触比较深的几个知识点,将核心的应用投放于实际的项目之中,提供代码的可维护性. 一.let和const { // let声明的变量只在let命令所在的代码块内有效 let a = ...

Ajax完整结构和删除

1.ajax完整结构 注意:(1)最后一个没有"," (2)ajax对网速要求高,最好有各种提示和使用按钮(可使其失效,防止重复加载) $.ajax({ url: "aj ...

python thread的join方法解释

python的Thread类中提供了join()方法,使得一个线程可以等待另一个线程执行结束后再继续运行.这个方法还可以设定一个timeout参数,避免无休止的等待.因为两个线程顺序完成,看起来象一个 ...

【Knockout】一、认识Knockout,你会爱上它

介绍 Knockout简称ko,是一个轻量级的javascript类库,采用MVVM设计模式(即Model.view.viewModel),简单优雅的实现了双向绑定,实时更新,帮助您使用干净的数据模型 ...

vs2012找不到system web optimization命名空间

今天新装了vs2012,安装完成后,创建了一个mvc4应用程序,创建生成出现了几个错误.通过错误我们的解决方案就是去找引用不到的路径,如何在vs2012中实现呢? 在工具栏中找工具--库程序包管理器- ...

coffee 编译时, 用本地环境

export PATH="./node_modules/.bin:$PATH" 原文: How to use package installed locally in node_m ...

Java对Jar文件的操作[转]

python抽签代码,python:选房抽签小工具相关推荐

  1. Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面

    Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面 from tkinter import * from tkinter import messagebox 导入提示框 from ...

  2. 使用python制作读取示波器波形的GUI小工具

    使用python制作读取示波器波形的GUI小工具 1.使用python创建GUI界面,该界面可以读取CSV数据格式的示波器波形并绘制在GUI界面上 2.可以zoom缩放操作 3.源码见链接 https ...

  3. python抽签代码_python3 实现口罩抽签的功能

    一.口罩抽签的逻辑 每个人产生对应的抽签码: 开始进行抽签: 公布中签结果: 这次案例写的比较简单,实际生产环境远比这复杂的多,但是万变不离其宗,基本逻辑还是差不多的-- 二.口罩抽签的代码 impo ...

  4. 一行Python一行代码制作20款经典小游戏

    今天分享一个有趣的Python游戏库freegames,它包含20余款经典小游戏,像贪吃蛇.吃豆人.乒乓.数字华容道等等,依托于标准库Turtle. 我们不仅可以通过1行代码进行重温这些童年小游戏,还 ...

  5. 80行代码自己动手用python写一个表格拆分与合并小工具

    大家好,我是才哥. 可能是最近加班熬夜太多,这个周末身体不舒服,头痛.冷汗什么的.终于在连着睡了接近2天后,现在慢慢恢复了. 最近有新朋友看到之前<>,想问下有没有免费的小工具,可以进行表 ...

  6. 教你用Python一行代码制作20款经典小游戏~

    今天分享一个有趣的Python游戏库freegames,它包含20余款经典小游戏,像贪吃蛇.吃豆人.乒乓.数字华容道等等,依托于标准库Turtle. 我们不仅可以通过1行代码进行重温这些童年小游戏,还 ...

  7. python画代码-Python教程_Python画Mandelbrot集 代码

    Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...

  8. python画图代码-Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

    在开始这个话题之前,我想问大家:什么是 Python?根据 Python 之父 Guido van Rossum 的话,Python是:一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员 ...

  9. python爬虫代码-python网络爬虫源代码(可直接抓取图片)

    在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标 ...博文来自:zhang740000的博客 P ...

  10. 【Python应用】自制截图取词小工具-- 解锁文字识别新姿势

    大家好 我是Yhen 很久不见呀 今天给大家分享一个自制的小工具-截图取词 及其制作过程 本工具是用Python写的 程序及代码的获取方式会在文末 文章目录 一.创作缘由 二.项目简介 三.思路分析 ...

最新文章

  1. cmd静默运行_【已解决】BAT批处理中如何静默执行,在完成后调用MSGBOX?
  2. PIC单片机入门_指令系统
  3. 卡苹果6plus在线_@哈尔滨家长:学生卡初次申办,需要到线下网点办理!
  4. 【Android XMPP】 学习资料收集贴(持续更新)
  5. 与ceph的区别_Ceph分布式存储高性能设计
  6. SAP License:SAP BW的综合计划
  7. 蓝桥杯 ADV-117 算法提高 进制转换
  8. 心电图数据结构化标准_自己实现一个类 JSON 数据结构
  9. thinkphp遗留问题
  10. 欧几里得算法和扩展欧几里得算法
  11. 版式设计怎么做对比?有哪些形式!
  12. 80004005错误代码_WIN7错误代码0×80004005图文解决教程
  13. html简述四种基本标记的作用,HTML的常用标记
  14. kms激活代码 win10_Win10_KMS_激活脚本(示例代码)
  15. java抽象类的继承_Java,如何从抽象类继承方法
  16. linux 删除乱码文件名的文件
  17. ant调用cmd命令行
  18. 英国G5、亚洲top1…未明学员斩获15枚世界top100学校offer!
  19. 如何定制一款个性化的 WinPE
  20. 清除浮动的常用几种方式

热门文章

  1. 【深度干货】强化学习应用简述
  2. Linux自学之旅-基础命令(一)
  3. Xmodem/Ymodem/Zmodem协议详解
  4. 西门子PLC_s7-200免费学习视频教程
  5. java实现同步的5种方式
  6. TASKCTL连接不到服务端的几种情况和解决办法
  7. php怎么设置div圆角,不用图片的DIV圆角(兼容各浏览器)
  8. 访问服务器 信号灯超时时间已到,win7系统分区提示信号灯超时时间已到怎么办...
  9. 逻辑函数代数法化简(二)
  10. URL和URI的区别和联系