python获取excel数据,写入

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import xlrd
import os
import openpyxl


def excel_read():  # 定义了一个读取excel的函数
    file_name = os.path.basename('XXX.xls')

    print(file_name)
    wb = xlrd.open_workbook(os.path.abspath(file_name))  # 打开Excel文件
    sheet = wb.sheet_by_name('1')  # 通过excel表格名称(rank)获取工作表
    names = []  # 创建空list,用来保存人物名称一列
    ids = []  # 保存身份证数据
    party_branch = []  # 保存所属地
    for a in range(2, sheet.nrows):  # 去掉首行 
        print(a)  # 循环读取表格内容(每次读取一行数据)
        cells = sheet.row_values(a)  # 每行数据赋值给cells
        name = cells[1]  # 循环读取cell没一列的数据,cell[0]就是包含了每一行的名称
        id = cells[2]  # 读取id数据

        # 将每一列的数据依次保存在names、ids、ranks里。
        names.append(name)  # append这是一个插入函数,功能可以在list之后插入一个name数据
        ids.append(id)
        file_name = file_name.split('.')[0]
        party_branch.append(file_name)
        data = list(zip(names, ids, party_branch))
        print(data)
    return data  # 函数的返回值


a = excel_read()
# print(a[0])  # 打印names数据,几乎所有的编程语言都是从0开始计数的哟
# print(a[1])  # ids
# print(a[2])  # party_branch 
print(a)


def excel_w(request):  # 定义一个写入的函数,输入的data是需要写入的数据
    wb = openpyxl.load_workbook('汇总.xlsx')  # 读取excel表格
    ws = wb['Sheet1']
    for x in request:  # 依次把信息写入excel
        ws.append(x)
    save_name = '汇总.xlsx'
    wb.save(save_name)  # 需要保存excel


data = a  # 需要插入的数据,最好是元组的形式
excel_w(data)  # 调用函数

 

posted @ 2021-03-12 18:12  张瑞桐  阅读(195)  评论(0编辑  收藏  举报