项目三 处理电子表格 练习题答案_第1页
项目三 处理电子表格 练习题答案_第2页
项目三 处理电子表格 练习题答案_第3页
项目三 处理电子表格 练习题答案_第4页
项目三 处理电子表格 练习题答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习题(参考答案)1.下面有一段代码,请填空补充完整。fromopenpyxlimportWorkbook#创建一个工作簿

wb=【1】Workbook()#激活工作表

ws=wb.active#给工作表命名

ws.【2】title="商铺用电统计表"#编写表头

ws.append(["序号","商铺号","本月用电量(度)","上月用电量(度)","同比增长率","用电类别"])#编写表格内容

data=[

[1,"商业街1号",3200,3000,"+6.67%","商业"],

[2,"商业街2号",5400,5000,"+8.00%","商业"]

]#将数据写入工作表

for【3】rowindata:

ws.【4】append(row)#保存工作簿到指定的路径

wb.【5】save("D:/电子表格/商铺用电统计表.xlsx")

2.下面有一段代码,请填空补充完整。#导入openpyxl库

importopenpyxl

【1】fromopenpyxl.stylesimportFont,PatternFill

#创建工作簿和工作表

wb=【2】openpyxl.Workbook()

ws=wb.active

ws.title="公交车乘客数统计表"

#编写表格数据

ws['A1']='序号'

ws['B1']='公交线路'

ws['C1']='星期一'

ws['D1']='星期二'

ws['E1']='星期三'

ws['F1']='星期四'

ws['G1']='星期五'

ws['H1']='星期六'

ws['I1']='星期日'

data=[

[1,'1路',1200,1300,1250,1400,1500,1100,900],

[2,'2路',800,950,870,860,900,750,600],

[3,'3路',1920,1650,1700,1680,1750,1300,1000],

[4,'4路',950,970,940,980,990,1200,700],

[5,'5路',1100,1150,1200,1160,1050,1000,1324]

]

forrow【3】indata:

ws.append(row)

#检查每行的最大值并设置格式

forrow【4】inrange(2,7):

max_value=max(ws.cell(row=row,column=3).value,ws.cell(row=row,column=4).value,ws.cell(row=row,column=5).value,ws.cell(row=row,column=6).value,ws.cell(row=row,column=7).value,ws.cell(row=row,column=8).value,ws.cell(row=row,column=9).value)

forcol【5】inrange(3,10):

ifws.cell(row=row,column=col).value==max_value:

ws.cell(row=row,column=col).font=Font(bold=True)

ws.cell(row=row,column=col).fill=PatternFill(start_color='FFFF00',end_color='FFFF00',fill_type='solid')

3.下面有一段代码,请填空补充完整。【1】importopenpyxl

file_path="D:/电子表格/到店人数.xlsx"#定义文件路径

workbook=openpyxl.load_workbook(【2】file_path)#加载工作簿

forsheet【3】inworkbook.worksheets:#遍历所有工作表

total_row_index=sheet.max_row+1#在最后一行添加"合计"

sheet.cell(row=total_row_index,column=1).value="合计"

#计算第2行以下各列的数据之和

forcol【4】inrange(3,sheet.max_column+1):#因序号和店名在第一、二列,从第三列开始计算

sum_val=0#初始化列的总和

forrowinrange(2,sheet.max_row):#从第二行开始计算,跳过标题行

cell_value=sheet.cell(row=row,column=col).value

#确保单元格中的值是数字类型

ifisinstance(cell_value,(int,float)):

sum_val+=cell_value

#将计算出的总和填入最后一行的对应列中

sheet.cell(row=total_row_index,column=col).value=sum_val

#保存工作簿

workbook.【5】save(file_path)

print("工作簿已更新,添加了合计行。")4.下面有一段代码,请填空补充完整。importpandasaspd

importos

original_file_path="D:/电子表格/部门出货流水账.xlsx"#定义原始文件路径

df=pd.read_excel(【1】original_file_path)#使用pandas读取Excel文件

df['出货时间']=pd.to_datetime(df['出货时间']).dt.【2】date#将出货时间列的数据转换为日期类型,只保留年月日

unique_departments=df['部门名称'].【3】unique()#获取部门列的唯一值列表,假设部门列的名称为"部门名称"

【4】fordepartmentinunique_departments:#遍历每个部门unique_departments

department_df=df[df['部门名称']==department]#筛选出当前部门的所有记录

new_file_path=os.path.【5】join("D:/电子表格",f"{department}.xlsx")#定义新的Excel文件名

5.下面有一段代码,请填空补充完整。importos

importopenpyxl

【1】fromopenpyxl.chartimportBarChart,Reference

output_folder='D:/电子表格'#创建目录和文件

if【2】notos.path.exists(output_folder):

os.makedirs(output_folder)

output_file=os.path.【3】join(output_folder,'各类产品出货表.xlsx')

wb=openpyxl.load_workbook(output_file)#打开现有的工作簿

【4】defget_or_create_worksheet(sheet_name):#定义函数(获取或创建工作表)

ifsheet_nameinwb.sheetnames:

returnwb[sheet_name]

else:

returnwb.【5】create_sheet(sheet_name)

6.下面有一段代码,请填空补充完整。importopenpyxl

【1】fromopenpyxl.chartimportPieChart,Reference

【2】importos

workbook=openpyxl.【3】Workbook()#创建一个新的Excel工作簿

sheet=workbook.active

#向工作表中写入部门业绩比例数据

data=[

['部门','业绩比例(%)'],

['销售部',35],

['研发部',25],

['运营部',20],

['市场部',15],

['财务部',5]

]

forrow【4】indata:

sheet.append(row)

#添加饼形图

pie=PieChart()

labels=Reference(sheet,min_col=1,min_row=2,max_row=6)

data=Reference(sheet,min_col=2,min_row=1,max_row=6)

pie.add_data(data,titles_from_data=True)

pie.set_categories(labels)

pie.title="部门业绩比例"

sheet.【5】add_chart(pie,"D10")#将图表添加到工作表

file_path='D:/电子表格/业绩比例数据表.xlsx'

workbook.save(file_path)#保存工作簿

os.system(f'startexcel{file_path}')#打开Excel文件7.下面有一段代码,请填空补充完整。importos

fromopenpyxlimportload_workbook

【1】fromopenpyxl.drawing.imageimportImage

【2】fromPILimportImageasPILImage

file_path=r"D:/电子表格/画作品档案.xlsx"

wb=load_workbook(file_path)#打开Excel文件

ws=wb.【3】active

image_folder=r"D:\画作品图片"#图片文件夹路径

#遍历图片文件夹中的图片文件

image_files=[fileforfileinos.listdir(image_folder)iffile.endswith(".png")]

#在Excel中插入图片

fori,image_fileinenumerate(image_files):

img=PILImage.open(os.path.join(image_folder,image_file))

img=img.resize((200,160))#调整图片大小

img_path=os.path.join(image_folder,image_file)

img.【4】save(img_path)#覆盖原始图片,调整大小后保存

img=Image(img_path)

cell=ws.cell(row=i+2,column=2)#从第2行开始,第2列

ws.add_image(img,f'B{cell.row}')#将图片插入到指定单元格的位置

wb.【5】save(file_path)#保存修改后的Excel文件8.下面有一段代码,请填空补充完整。#项目数据列表

project_data=[

#表头行

["项目名称","负责人","开始日期","结束日期","项目投资(万元)","技术难度等级"],

#数据行

["电商平台升级","张经理","2023-01-15","2023-06-30","1200","高"],

["客户管理系统","李经理","2023-02-10","2023-04-20","500","中"],

["AI智能客服","王经理","2023-03-01","2023-12-31","2500","极高"],

["官网改版","赵经理","2023-01-05","2023-02-28","80","低"],

["数据平台建设","钱经理","2023-04-01","2023-09-30","1800","中"]

]

#添加"预计利润"列标题

project_data[0].append("预计利润")

#计算每一行的预计利润并添加到对应行

【1】forrowinproject_data[1:]:#用for语句遍历project_data数据,跳过表头行

difficulty=row[5]#技术难度等级在第6列

investment_str=【2】row[4]#项目投资在第5列

#处理投资金额数据

investment=float(investment_str)ifinvestment_strelse0.0

#根据技术难度计算利润

ifdiffi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论