import xlrd
import matplotlib.pyplot as plt
import sys
"""本程序目的是统计EXCEL中每个工作表中的B7单元格的数据,并进行数据清理,最后绘制成柱状图"""
"""打开文件"""
xlsx=xlrd.open_workbook("data.xlsx");
"""获取所有工作表"""
get_worksheetnames=xlsx.sheet_names() #获得所有工作表的名字
#获得所有工作表中B7单元格的数据
get_cellvalues=[] #创造一个空数组保存数据
new_cellvalues=[] #清洗后数据
for worksheetname in get_worksheetnames[2:30]: #遍历
open_sheet=xlsx.sheet_by_name(worksheetname) #打开工作表
get_cellvalue=open_sheet.cell(6,1).value #需要注意,选择第7行第2列的数据用(6,1表示)
get_cellvalues.append(get_cellvalue) #向空数组中添加元素
class Cleanvalue():
"""清洗数据,去掉异常数据"""
def __init__(self,value):
self.value=value
def cellvalues_avaerage(self): #取产量平均值
sum=0
for key in self:
sum=sum+key
avaerage=sum//len(self)
return int(avaerage)
def del_Abnormaldata (self,avaerage): #去掉异常数据
for get_cellvalue in self:
i=1
if get_cellvalue<int(avaerage):
new_cellvalues[i-1]=int(avaerage)
else:
new_cellvalues.append(get_cellvalue)
i=i+1
return new_cellvalues
my_Cleanvalue=Cleanvalue.cellvalues_avaerage(get_cellvalues)
new_Cleanvalue= Cleanvalue.del_Abnormaldata(get_cellvalues,my_Cleanvalue)
plt.bar(range(len(new_Cleanvalue)),new_Cleanvalue) #输出图像
plt.show()
利用python中xlrd模块批量读取excel多个工作表的单元格数据,并优化数据,绘制成表格.zip
需积分: 5 169 浏览量
2024-05-17
20:50:51
上传
评论
收藏 735KB ZIP 举报
武昌库里写JAVA
- 粉丝: 3556
- 资源: 2063
最新资源
- mmexport1717246170188.jpg
- 近代史调查问卷_统计报表_20240601205759.xlsx
- v2.1.2-Unity3D插件 SUIMONO Water System 效果逼真交互水系统
- 农村小别墅图纸编号D040-三层-08.30&14.60米-施工图.dwg
- 三层别墅图纸编号D039-三层-16.70&14.70米- 结构图.dwg
- 三层农村小别墅编号D038-三层-11.90&13.50米-施工图.dwg
- 采购组·主管业务原型集与说明(Xmind书写)
- 三层图纸编号D037-三层-10.40&15.10米-施工图.dwg
- 进击算法工程师深度学习课程-课程网盘链接提取码下载 .txt
- 三层别墅图纸编号D036-三层-14.04&15.44米-施工图.dwg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈