码迷,mamicode.com
首页 > 其他好文 > 详细

利用xlwt、xlrd搜索excel表格内容并复制出需要的那一行内容

时间:2018-08-08 14:54:32      阅读:603      评论:0      收藏:0      [点我收藏+]

标签:搜索   encoding   lin   lis   color   +=   excel   -o   51cto   

需求有如图表格:
技术分享图片

然后有姓名,想要把这些人所在的这一行资料给导出来。

1、把姓名保存成名字.txt 源表格为‘excelFile.xls‘
2、源码如下:


#!/usr/bin/python
# -*- coding: utf-8 -*-
import xlwt
import xlrd

def main():
    workbook = xlwt.Workbook(encoding=‘ascii‘)
    worksheet = workbook.add_sheet(‘入职员工‘)
    with open(‘.\名字.txt‘) as f:
        h = 0
        line = f.readline()
        while line:
            line = line.replace(‘\r‘, ‘‘).replace(‘\n‘, ‘‘).replace(‘\t‘, ‘‘)
            # print(line)
            Meiyitiao = Ex_Find(line)
            print(Meiyitiao)
            i = 0
            for zhi in Meiyitiao:
                # 写入excel
                # 参数对应 行, 列, 值
                worksheet.write(h, i, label=zhi)
                i += 1
            h += 1
            line = f.readline()
        workbook.save(‘入职员工资料.xls‘)

def Ex_Find(Name):
    workfile = xlrd.open_workbook(‘excelFile.xls‘)
    table = workfile.sheets()[0]
    nrows = table.nrows#nrows有效行数
    for i in range(0,nrows):
        Ndangqian_List = table.row_values(i)#当前行资料 list list[1]为名字
        z = 0
        for c in range(0,len(Ndangqian_List)):
            if Name == Ndangqian_List[z]:#Ndangqian_List[] z += 1 每一格的资料,遍历列表每个元素
                return table.row_values(i)
            z += 1
    return [Name]

if name == ‘main‘:
    main()
```**

利用xlwt、xlrd搜索excel表格内容并复制出需要的那一行内容

标签:搜索   encoding   lin   lis   color   +=   excel   -o   51cto   

原文地址:http://blog.51cto.com/12541359/2156203

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!