python操作excel文件,简单数据整合

在紧迫的时间限制下,通过Python处理3张杂乱的Excel表格,将其整合成一张新表。首先,处理原始数据结构,然后利用行列定位直接整合。创建数据类,分段读取并排序每个企业的数据,通过特定函数在3张表中查找对应信息,最后将结果写入新文件。
摘要由CSDN通过智能技术生成

小妹丢来3张表,要求按格式整理成一张新excel表;3张表数据杂乱不是重点,重点是工期只有半天,说多了都是泪……

数据杂乱的话,整理好数据结构,每张表去遍历一遍,然后存入自建的数据库,再从数据库里导出需要的表也是可以实现的;既然工期紧张,这些就没时间去深入研究了,直接把原来3张表人工处理一下,确保相同的行与列,直接用行列定位的方式做简单的数据整合吧。

每张表前三行都是表头,前三列都是都是相同格式;每个企业有4行数据,经过手工处理每张表企业根据代码排序且相同,数据总量288条,最终需要整合成下面格式:

从3个表里取出相应的数据,每个企业分类并按照时间顺序排序,操作excel前记得先装好相应的库:

import xlrd
import xlwt

根据需求,要整合的数据创建一个类:

class company(object):
    # 构造函数
    def __init__(self):
        self.time = ''
        self.code = ''
        self.name = ''
        self.D = ''  # 总经理类型
        self.E = ''  # 管理层类型
        self.F = ''  # 管理层比例
        self.G = ''  # 董事长类型
        self.H = ''  # 董事会类型
        self.I = ''  # 董事会比例
        self.J = ''  # CEO及董事长类型
        self.K = ''  # 公司规模
        self.L = ''  # 财务杠杆
        self.M = ''  # 资产净利润率
        self.N = ''  # 资本密集度
        self.O = ''  # 托宾Q
        self.P = ''  # 股利支付率
        self.Q = ''  # 行业

读取3张excel:

f_1 = xlrd.open_workbook(r'C:\Users\ysc\Desktop\1.xls')
f_2 = xlrd.open_workbook(r'C:\Users\ysc\Desktop\2.xlsx')
f_3 = xlrd.open_workbook(r'C:\Users\ysc\Desktop\3.xls')
# print(f_1.sheet_names())  # 获取所有sheet

f_1Sheet1 = f_1.sheet_by_index(0)
f_2Sheet1 = f_2.sheet_by_index(0)
f_3Sheet1 = f_3.sheet_by_index(0)
# rows_1 = f_1Sheet1.row_values(0)  # 获取第1行内容
# cols_1 = Sheet1.col_values(0)  # 获取第1列内容

由于每个企业有4行数据,且最终要按照时间排序,写个分段读取函数:

# 读excel
def read_excel(start, end):
    code = ''
    time = []
    for i in range(start, end):
        if i == 291:
            time = selectionSort(time)
            find_data(code, time, start, i)
            for x in data:
                print(x)
            write_excel(data)
            break
        el
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值