python抽签代码,python:选房抽签小工具

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文件的操作[转]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值