【应用工具】使用python操作excel

需求描述:自动补充相关信息到一张excel表中

代码:

# -*- conding:utf-8 -*-
import xlrd
import xlutils
from xlutils.copy import copy

def get_person_data():
    '''先从一张表中获取所有人员相关信息'''
    global person_list
    #设置文件名和路径
    fname = 'C:/Users/admin/test.xlsx'
    #打开文件
    filename = xlrd.open_workbook(fname)
    sheet = filename.sheets()[0] #通过sheet索引获得sheet对象
    nrows = sheet.nrows #获取行数
    ncols = sheet.ncols #获取列数

    #按每一行来获取各行数据
    person_list = []
    for i in range(0,nrows):
        row_datas = sheet.row_values(i)
        person_list.append(row_datas)
    print(person_list)

def comple_excel():
    '''将上面获得信息自动填入需要的新excel中'''
    excel = 'D:/Test.xlsx'
    wb = xlrd.open_workbook(excel)
    sheet  = wb.sheets()[0]
    newb = copy(wb)
    wbsheet = newb.get_sheet(0)

    for temp_ncol in sheet.col_values(0):#从复制列表的第一列取出每一行的姓名
        for temp_person in person_list:  #从人员信息列表中取出每一个人员列表
            if temp_ncol in temp_person:
                print(temp_person[0],temp_person[1],temp_person[2])
                wbsheet.write(sheet.col_values(0).index(temp_ncol),2,temp_person[1])
                wbsheet.write(sheet.col_values(0).index(temp_ncol),3,temp_person[2])
            else:
                pass

    newb.save(r"F:/newexcel.xls")

def main():
    get_person_data()
    comple_excel()

if __name__ == '__main__':
    main()

猜你喜欢

转载自blog.csdn.net/LeviBlog/article/details/82587290