Python 往Excel写数据

一、需求描述:

1、一张人员信息表中生成人员信息,某些列的字段要进行递增操作;

2、一个组织节点下存在1000人的限制要求;

3、一张Excel表格生成45000条数据;

二、Excel表格的表头如下:

三、相关操作

1、写Excel,首先需要安装xlwt模块;

2、可以采用pip的安装方式,安装方式如下图所示:

3、安装完成后,开始编写我们的程序:

首先需要明确几个函数的用法:

1、enumerate()

  详细介绍:

2、format()

  格式化数据

3、yield相关知识

  详细介绍:http://blog.csdn.net/alvine008/article/details/43410079

写数据基本操作:

创建工作簿(workbook)和工作表(sheet):

import xlwt
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet Name")

写单元格(cell):

sheet.write(0, 0, ‘foobar‘) # row, column, value

对单元格应用样式(加粗为例):

style = xlwt.easyxf(‘font: bold 1‘)
sheet.write(0, 0, ‘foobar‘, style)

具体实现代码:

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

‘‘‘
1、第一步:我们需要引入xlwt模块:import xlwt
2、第二步:创建一个excel表格
3、第三步:定义需要自增字段的起始值
4、第四步:初始化表格:sheet页、样式、表头填充
5、第五步:按照每行进行数据写入,1个部门节点人数限制为1000人
‘‘‘

import xlwt

EXCEL_NAME = ‘employees_mock.xls‘

PHONE_NUM = 13805710001
EMP_NUM = 482501
EMAIL_PREFIX = 333019041
SUB_PHONE_NUM = 478180
OFFICE_SUFFIX = 12771500
VIRTUAL_NET = 123456
TELGRAM_PHONE_NUM = 15370032950

def employe(depart, count):
for _ in range(1000):
name = u‘工作人员{}‘.format(count)
phone_num = str(PHONE_NUM + count)
gender = u‘男‘
emp_num = str(EMP_NUM + count)
is_charger = u‘否‘
job = u‘开发‘
email = u‘{}@foo.com‘.format(EMAIL_PREFIX + count)
sub_phone_num = SUB_PHONE_NUM + count
addr = u‘杭州滨江‘
remark = u‘测试‘
office = u‘信息安全管理员‘
position = u‘管理岗位‘
bureau = u‘发发发‘
office_phone_num = u‘0571-{}‘.format(OFFICE_SUFFIX)
v_net = u‘192.168.1.{}‘.format(count % 256)
tel_phone_num = str(TELGRAM_PHONE_NUM + count)
tel_net = u‘192.168.0.{}‘.format(count % 256)
yield [
depart,
name,
phone_num,
gender,
emp_num,
is_charger,
job,
email,
sub_phone_num,
addr,
remark,
office,
position,
bureau,
office_phone_num,
v_net,
tel_phone_num,
tel_net
]
count += 1

def style():
##赋值style为XFStyle(),初始化样式
style = xlwt.XFStyle()
#设置单元格内字体样式
font = xlwt.Font()
font.name = ‘Times New Roman‘
font.bold = False

return style

#写Excel
def write_excel():
wb = xlwt.Workbook()#创建工作簿
sheet = wb.add_sheet(u‘sheet1‘, cell_overwrite_ok=True)#创建第一个sheet页 第二参数用于确认同一个cell单元是否可以重设值
#初始化表头列表
tb_head = [
u‘部门‘,
u‘姓名‘,
u‘手机号‘,
u‘性别‘,
u‘工号‘,
u‘是否此部门主管(是/否)‘,
u‘职位‘,
u‘邮箱‘,
u‘分机号‘,
u‘办公地点‘,
u‘备注‘,
u‘职务‘,
u‘岗位‘,
u‘办公室‘,
u‘办公电话‘,
u‘虚拟网‘,
u‘电信手机号‘,
u‘电信虚拟网‘
]

for i, item in enumerate(tb_head):
sheet.write(0, i, item, style())

return wb

def main():
wb = write_excel()
table = wb.get_sheet(0)

# insert 10k mock employee data
deps = [u‘浙江省-反贪局-分局{}‘.format(i + 1) for i in range(10)]
# deps.extend(
# [u‘浙江省-工商局-分局{}‘.format(i) for i in range(10)]
# )
# deps.extend(
# [u‘陕西省-计划生育局-分局{}‘.format(i) for i in range(10)]
# )
for c, dep in enumerate(deps):
count = 1000 * c + 1
for row, emp in enumerate(employe(dep, count)):
for col, item in enumerate(emp):
table.write(row + count, col, item)
#保存文件
wb.save(EXCEL_NAME)

if __name__ == ‘__main__‘:
main()

时间: 2024-11-08 06:04:05

Python 往Excel写数据的相关文章

Python操作Excel之数据提取

最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长.想着通过简单的方式,并且快速提取数据,就想到了Python.python操作Excel使用的openyxl和pandas对Excel进行操作.代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020-02-24 下午 03:43 # @Author : Zhanxing # @Site : # @File : 提

使用Python从 MySQL写数据到Excel

直接上代码: #!/usr/bin/env python #coding:utf-8 import xlwt import MySQLdb import datetime database = MySQLdb.connect(host='192.168.1.30',user='root',passwd='123456',db='crm') #设置字符集 database.set_character_set('utf8') cursor = database.cursor() cursor.exe

Python实用技巧:从Excel读取数据并绘制成图像

本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添加标注,注释,显示Latex风格公式,坐标点处透明化处理等技巧 适合人群:适合具有Python基础的用户,对于需要书写实验报告,学位论文,发表文章,做PPT报告的学员具有较大价值. 开发准备 打开Xfce终端,下载并安装的相关依赖 . $ sudo apt-get update $ sudo apt

Python操作 Excel表格

python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/xlwt.openpyxl. 我使用openpyxl 安装: pip install openpyxl 如果excel里面有图片(jpeg, png, bmp,…),需要安装图片处理模块     pip install  pillow 写一个Excel: from openpyxl import Workbookweb = Workbook() 创建一个新的工作簿:

Python 处理excel文件

1.对于.xls 文件,有以下库可以使用 xlrd:从excel读数据的第三方控件: xlwt:从excel写数据的第三方控件: xlutils:使用xlrd.xlwt的工具箱. 注;安装过程中,需要安装setuptools库 简单例子使用: import xlrd import xlwt from xlutils.copy import copy def write_excel(data,rows,columns): local='d:\\pic_dwn' filename = "wmw.xl

利用python操作excel表

1.安装 pip install openpyxl 如果excel里面有图片(jpeg, png, bmp,-),需要安装图片处理模块 pip install pillow 创建一个新的工作薄 from openpyxl import workbook wb = workbook() # 默认是最后一个 ws1 = wb.create_sheet('Mysheet') #根据索引第一个 ws2 = wb.create_sheet("Mysheet") #保存 wb.save("

python 使用openpyxl来写数据到excel表格

使用openpyxl写execl确实很方便.我先介绍用到的相关模块与函数 Workbook:工作簿模块,在内存创建一个工作簿. ExcelWriter:使用它向exel中写数据. get_column_letter:给一个数字得到一个列名,如A,B,C 数据写入到EXCEL表格 #!/usr/bin/env python # _*_ coding:utf-8 _*_ from openpyxl.workbook import Workbook from openpyxl.writer.excel

python xlsxwriter 写excel表哥数据

代码: # -*- coding:utf-8 -*-__author__='comk'import xlsxwriterdata_dict={                "1":[u"张三",150,120,100],                "2":[u"李四",90,99,95],                "3":[u"王五",60,66,68]           

python读取excel数据

excel是很常用的表格工具.不过,对程序员来说,这可不是件好事件.因为excel的数据既不像txt那样,随意一种语言.脚本,写个函数就能把数据读出来分析.也不像JSON这种开源的数据格式,有N多的开源库来读取.就算没有,知道数据格式,自己写个库也自己用不至于太难. 要想读取excel的数据,大多使用ODBC数据库驱动或者COM的方式.对于ODBC,不同的语言有不同的实现,如java的JDBC.而对于COM方式,几乎是在后台运行一个excel程序,像new Excel.Application()