python 如何自动生成exl_python自动创建Excel,且文件名和内容从另一个Excel中自动获取...

用到了两个库,xlrd和xlwt

xlrd是读excel,xlwt是写excel的库

1)xlwd用到的方法:

xlwt.Workbook()是创建了一个空文件对象

.add_sheet()为空文件对象,是在该文件中建立一个工作表,并返回工作表对象

.write(row,col,data)为工作表对象,表示在第row+1行第col列添加data数据

.save('文件名.xls')为空文件对象,最后保存。

2)xlrd用到的方法:

打开excel文件读取数据

data = xlrd.open_workbook('文件名.xls')

常用代码:

#通过名称获取 table = data.sheet_by_name(u'Sheet1')

获取整行和整列的值(数组)

table.row_values(i)

table.col_values(i)

获取行数和列数

nrows = table.nrows

ncols = table.ncols

==========下面是就是实现代码=================

1 importxlwt2 importxlrd3 #一:.Workbook 创建工作簿,目前空白

4

5 testbook = xlwt.Workbook(encoding='utf-8')6 #二:创建sheet页即工作表,对象是工作簿

7 test_sheet = testbook.add_sheet('新新人类')8 #三:写入数据,1、下面是从别的文件读取的数据,所以先打开一个文件

9 data1 = xlrd.open_workbook('C:\\Users\\ccccc\\Documents\\Python学习笔记\\新新人类模板.xls')10 #2、再打开工作表

11 table1 = data1.sheet_by_name(u'Sheet1')12 #3、row_values 获取这个工作表第0行的整行数据,返回数组类型

13 name1 =table1.row_values(0)14 #4、获取这个工作表的列数,返回int

15 nrows1 =table1.ncols16 #5、下面循环把第0行所有列的数据的依次写入之前创建的工作表test_sheet

17 for j inrange(nrows1):18 #6、写入数据,write(row,col,data)为工作表对象,表示在第row+1行第col列添加data数据

19 test_sheet.write(0, j, name1[j])20

21 #四:保存文件名,下面是从别的文件获取文件名

22 data = xlrd.open_workbook('C:\\Users\\ccccc\\Documents\\Python学习笔记\\新新人类编号.xls')23 table = data.sheet_by_name(u'Sheet1')24 name =table.col_values(0)25 bank = table.col_values(1)26 nrows =table.nrows27 for i inrange(nrows):28 bank1 =bank[i]29 #把返回的数组里的每个先赋值变量bank1,再截取字符串的前4个,这里可以先加个判断是否有4位,否则不足4位会报错

30 bank2 = bank1[0:4]31 #四、save保存文件

32 testbook.save('C:\\Users\\ccccc\\Documents\\Python学习笔记\\'+'新新-'+name[i]+'-'+bank2+'-.xls')

1405555-20200816110443447-1455141240.png

1405555-20200816110320072-1578496578.png

1405555-20200816111015572-2141665794.png

纠正在最后

标题里说了从另一个Excel获取,代码是从两个Excel分别获取的,代码可以优化为1个Excel,数据放两个工作表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值