使用python读取excel进行处理,并将结果存储在新的excel

使用python读取excel进行处理,并将结果存储在新的excel

生活所需,领导安排整理出一些文件,整了一个小时才几个快累趴了,手也快抽筋了。网上都说python可以很简单的处理办公文件,想让python大神帮个忙,谁知大神说,java也可以写,开发语言都可以写。

“自己动手,丰衣足食” ---------毛爷爷

可以python代码写出来确实只有短短几行,依赖环境也比较简单

python读取excel

def  query_excels(path):
    filenames = os.listdir(path)
    result = []
    list=['城市','人数','平均分数']
    result.append(list)
    for filename in filenames:
        if filename.find('(')>0:
        	# 各个文件名称为:2021年考试成绩(北京)20220120.xlsx
            l=read_excel(filename[filename.find('(')+1:filename.find(')')],path+'\\'+filename) 
            result.append(l)
    write_data_to_excel(path+'\\'+'合计'  , result)

python处理excel

def read_excel(city,filePath):
    workbook = xlrd.open_workbook(filePath)
    sheet = workbook.sheet_by_index(0) 
    totalValue=0
    for rown in range(1,sheet.nrows):
        value=0
        for i in range(1,38):
            value+=int(sheet.cell_value(rown,i))
        totalValue+=value
    # 将150分成绩转化为百分制
    avgvalue=(totalValue/(sheet.nrows-1))*100/150
    return [city,sheet.nrows-1,avgvalue]

python结果写入新excel

def write_data_to_excel(name, result):
    wbk = xlwt.Workbook(encoding='utf-8')
    sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True)
    for i in range(0,len(result)):
        for j in range(0,len(result[i])):
            sheet.write(i, j, result[i][j])
    wbk.save(name + '.xls')

完整可参考PYTHON代码

import os
import xlwt
import xlrd

def  query_excels(path):
    filenames = os.listdir(path)
    result = []
    list=['城市','人数','平均分数']
    result.append(list)
    for filename in filenames:
        if filename.find('(')>0:
        	# 各个文件名称为:2021年考试成绩(北京)20220120.xlsx
            l=read_excel(filename[filename.find('(')+1:filename.find(')')],path+'\\'+filename) 
            result.append(l)
    write_data_to_excel(path+'\\'+'合计'  , result)

def read_excel(city,filePath):
    workbook = xlrd.open_workbook(filePath)
    sheet = workbook.sheet_by_index(0) 
    totalValue=0
    for rown in range(1,sheet.nrows):
        value=0
        for i in range(1,38):
            value+=int(sheet.cell_value(rown,i))
        totalValue+=value
    # 将150分成绩转化为百分制
    avgvalue=(totalValue/(sheet.nrows-1))*100/150
    return [city,sheet.nrows-1,avgvalue]

def write_data_to_excel(name, result):
    wbk = xlwt.Workbook(encoding='utf-8')
    sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True)
    for i in range(0,len(result)):
        for j in range(0,len(result[i])):
            sheet.write(i, j, result[i][j])
    wbk.save(name + '.xls')

if __name__ == '__main__':
    path = r'D:\\考试成绩\\2021 年度\\20220124结果'
    query_excels(path)

生活不是一场赛跑,生活是一场旅行,要好好欣赏每一段的风景。

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟天特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值