• 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 import xlwt
     2 import xlrd
     3 # 一:.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.ncols
    16 # 5、下面循环把第0行所有列的数据的依次写入之前创建的工作表test_sheet
    17 for j in range(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.nrows
    27 for i in range(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')


     

     纠正在最后

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




  • 相关阅读:
    整理了一份FAQ,新手看一下
    分享:pythonbitstring 3.1.2 发布
    分享:TokuDB v7 发布,并宣布全面开源
    在美国学CS能挣多少钱?美国IT公司标准 offer package详细数字及绿卡政策 | 美国留学申请与就业找工作咨询博客|Warald|一亩三分地论坛
    写的split带改进
    分享:一个多进程并发执行程序ps命令 ls命令
    分享:vi/vim使用进阶: 指随意动,移动如飞 (一)
    waning rm i rm rvfi
    分享:C++中头文件、源文件之间的区别与联系
    分享:神奇的动归状态转移方程——最优子序列
  • 原文地址:https://www.cnblogs.com/docstrange/p/13511879.html
Copyright © 2020-2023  润新知