Python读写Excel简单案例及调试说明文档
工作中经常有处理Excel文件的需求,尤其是不懂写程序的业务人员。在人工处理Excel文件多了之后就想着自己能写点程序自动处理该多省事。好,下面机会来了,两分钟带你入坑Python操作Excel文件中的数据。
一、准备环境。windows中下载和安装开发软件anaconda。
详细步骤参考如下地址:https://blog.csdn.net/m0_45521766/article/details/126210396
二、windows下打开anaconda开发工具spyder,如下图所示,按1、2、3顺序单击:
三、Spyder中打开扩展名为.py的代码文件,如下图所示打开本案例中excelOperation.py文件。
excelOperation.py代码如下
# -*- coding: utf-8 -*-
"""
Created on Tue Sep 6 09:48:58 2022
@author: junco
"""
import os
import xlwt
import xlrd
#查找指定目录中的EXCEL文件
def query_excels(path):
#获取指定目录下的所有文件
filenames = os.listdir(path)
#定义变量,将读取结果暂存内存
result = []
#定义结果列名
list=['城市','人数','平均分数']
result.append(list)
#循环获取到的所有文件,并读取数据,计算结果
for filename in filenames:
if filename.find('(')>0:
#读取目录中查找到的各个文件(名称为:2021年考试成绩(北京)20220120.xls)
l=read_excel(filename[filename.find('(')+1:filename.find(')')],path+'\\'+filename)
result.append(l)
#将计算结果写入新的Excel文件
write_data_to_excel(path+'\\'+'合计' , result)
#读取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=float(sheet.cell_value(rown,2))
totalValue+=value
#求平均值
avgvalue = totalValue/(sheet.nrows-1)
#将150分成绩转化为百分制
#avgvalue=avgvalue*100/150
return [city,sheet.nrows-1,avgvalue]
#新建Excel文件,将数据定入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')
#启动入口
if __name__ == '__main__':
path = r'./data'
query_excels(path)
打开具体操作参考如下anaconda spyder使用技巧:https://blog.csdn.net/m0_53876797/article/details/120590516
四、单击运行(下图1)后,data目录中成功生成“合计.xls”文件(下图2)
图1
图2
五、运行成功后,尝试修改代码,实现自己业务,再打断点调试改进(至此入坑成功,可以发挥你美好的想像了)
打断点调试参考如下文章:https://www.likecs.com/show-203684339.html
案例代码及测试数据如下:
Python读写Excel简单案例及调试说明文档-Python文档类资源-CSDN文库
门童引入坑,修行自己奔!!!