20day

import openpyxl
# # 1.excel相关的专业术语
# # 工作簿 - 一个excel文件就是一个工作簿
# # 工作表(表) - 一个工作簿中可以有多张表
# # 单元格  -  保存数据的每个格子
# #2.excel文件读操作
# # 1)加载excel文件获得工作簿对象
# # openxl.load_workbook(文件路径)
# wb=openpyxl.load_workbook(r'D:\excel\bbbb.xlsx')
# # 2)获取所有工作表的表名
# # 工作簿对象.sheetnames
# names=wb.sheetnames
# print(names)
# # 3)获取工作表
# # a.工作簿对象.active - 获取活跃表(被打开的表)
# # b.wb[表名]  -  根据表名获取指定的工作表
# sheet1=wb.active
# print(sheet1)
# sheet2=wb['学生成绩']
# print(sheet2)
# # 4)获取单元格
# # a.表对象.cell(行号,列号) -获取指定单元格,行号和列号都是从1开始的数字
# # 表对象['列号行号']  -  获取指定单元格,列号用大写字母(不常用)
# cell=sheet1.cell(1,1)
# print(cell)
# cell2=sheet1['D3']
# print(cell2)
# # 5)获取单元格内容
# #单元格对象.value
# print(cell.value)
# print(cell2.value)
# # 6)获取一个表最大行数和列数
# # 表对象.max_row  - 最大行数
# # 表对象.max_column - 最大列数
# max_row=sheet1.max_row
# max_column=sheet1.max_column
# 练习:写代码获取阿里巴巴2020年股票数据.
# 1.获取工作簿
# 1)获取已经存在的excel文件对应的工作簿:openpyxl.load_workbook(路径)
# 2)新建一个工作簿:openpyxl.Workbook() --默认有一张表
# wb=openpyxl.Workbook()
# print(wb.sheetnames)
# if os.path.exists(r'D:\excel\data.xlsx')
#
# # 2.添加表
# # 工作簿对象.create_sheet(表名,下标)  - 在指定位置创建指定表,并且返回创建的表对象
# sheet1=wb.create_sheet('商品表')
# sheet2=wb.create_sheet('房产信息',0)
# # 3.删除表
# # 工作簿对象.remove(表对象)
# wb.remove(wb['Sheet'])
# # 4.插入数据
# # 单元格对象.value=数据
# wb['商品表'].cell(1,1).value='商品名称'
#
# # -1.保存文件
# wb.save(r'D:\excel\data.xlsx')
# # 练习
# students=[{
#     'stuid':'stu001','name':'小明'
# }]
import os
students = [
    {'stuid': 'stu001', 'name': '小明', 'age': 20, 'score': 90},
    {'stuid': 'stu002', 'name': 'stu2', 'age': 19, 'score': 89},
    {'stuid': 'stu003', 'name': '张三', 'age': 25, 'score': 78},
    {'stuid': 'stu003', 'name': 'lisi', 'age': 30, 'score': 99}
]
if os.path.exists(r'D:\excel\school.xlsx'):
    wb=openpyxl.load_workbook(r'D:\excel\school.xlsx')
else:
    wb=openpyxl.Workbook()
if '学生信息' not in wb.sheetnames:
    sheet=wb.create_sheet('学生信息')
else:
    sheet=wb['学生信息']
keys=list(students[0])
length=len(keys)
for col in range(1,length+1):
    sheet.cell(1,col).value=keys[col-1]
row=2
for stu in students:
    for col in range(1,length+1):
        sheet.cell(row,col).value=stu[keys[col-1]]
row+=1
wb.save(r'D:\excel\school.xlsx')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值