python对excel表格的操作
admin
2023-07-23 20:01:57
0
# 工作簿, 工作表,单元格
#workbook ,sheet ,cell
# 灵活擦欧总各种对象,进行修改‘
# 编辑样式
%cd D:\python全站\office
D:\python全站\office
# pip install openpyxl
import openpyxl
wb = openpyxl.load_workbook('coop.xlsx')  
# 加载创建的表格coop.xlsx
wb.get_active_sheet()
c:\users\coop\miniconda3\envs\coop\lib\site-packages\ipykernel_launcher.py:1: DeprecationWarning: Call to deprecated function get_active_sheet (Use the .active property).
  """Entry point for launching an IPython kernel.

sh2 = wb.active
cell1 = sh2['A1']
print(cell1)
cell1.value


'学生'
sh2['A1'].value
'学生'
sh2['A2'].coordinate
'A2'
sh2['A2'] = 'zhao'  # another sh2['A2'].value = 'zhao'
sh2['A2'].value
'zhao'
###########
sh2.title
'Sheet2'
sh2.title = '成绩单'
sh2.title
'成绩单'
wb.save('coop-1.xlsx')  # 另存为
##########
# 取sheet1的数据,放入sheet2,成绩> 65
# 打开工作簿
%cd D:\python全站\office
import openpyxl
wb = openpyxl.load_workbook('coop.xlsx')
# 打开sheet1,打开sheet2

#操作sheet1,存入sheet2
# 另存为新的文件
D:\python全站\office
# sh2 = wb.get_sheet_by_name('Sheet1')  # 首写大写
sh2 = wb['Sheet1']  #对Sheet1页面操作
sh3 = wb['Sheet2']  #对Sheet2页面操作
for row in sh2.rows:  # 循环每一行 sh2.row()
    print(row)
    print(row[0].value, row[1].value)   # 打印的是元祖
(, )
学生 成绩
(, )
coop 60
(, )
murphy 61
(, )
lisi 62
(, )
zhangsan 63
(, )
lilei 64
(, )
××× 65
(, )
hao 66
for rows in sh2.rows:
    if rows[0].coordinate != 'A1':   #元祖用法
        #rows[0].coordinate去坐标,不等于A1
        print(rows[0].value, rows[1].value)
coop 60
murphy 61
lisi 62
zhangsan 63
lilei 64
××× 65
hao 66
for rows in sh2.rows:
    if rows[0].coordinate != 'A1' and rows[1].value >63: 
        #rows[0].coordinate去坐标,不等于A1
        print(rows[0].value, rows[1].value)
lilei 64
××× 65
hao 66
index = 2
for rows in sh2.rows:
    if rows[0].coordinate != 'A1' and rows[1].value >63: 
        #rows[0].coordinate去坐标,不等于A1
        print(rows[0].value, rows[1].value)
        sh3['A' + str(index)] = rows[0].value
        sh3['B' + str(index)] = rows[1].value
        print('in sh3:', sh3['A'+str(index)].value,sh3['B'+ str(index)].value)
        index += 1
wb.save('coop-2.xlsx')
lilei 64
in sh3: lilei 64
××× 65
in sh3: ××× 65
hao 66
in sh3: hao 66
# 第二种写法,根据范围取值
#A2 B2
# A3, B3
# index = 2
sh2 = wb['Sheet1']
sh3 = wb['Sheet3']
for rows in range(2, sh2.max_row +1):
    grade = sh2.cell(row = rows, column = 2).value
#     print(grade)
#     print(type(grade))
    if grade > 63:
        sh3['A' + str(rows)] = sh2.cell(row = rows, column = 1).value
        sh3['B' + str(rows)] = grade
        print('in sh3:', sh3['A'+str(index)].value,sh3['B'+ str(index)].value)

wb.save('coop-3.xlsx')
in sh3: None None
in sh3: None None
in sh3: None None
print(sh2.max_row)
8
# 最后一行添加平均分数
sh2.cell(row=9, column=2).value = '=average(B2:B8)'
sh2.cell(row=9, column=1).value = '平均分'
print(sh2['B10'].value)
wb.save('coop-4.xlsx')
None
print(sh2['B9'].value)
=average(B2:B8)
from openpyxl.styles import Font
# Font?
font = Font(bold =True, size = 20) # name, size, bold, italic...
sh2['B9'].font = font

wb.save('coop-5.xlsx')

相关内容

热门资讯

国防部:民进党当局蓄意制造紧张... 6月25日下午,国防部举行例行记者会,国防部新闻发言人张晓刚大校答记者问。记者:美日正在开展“勇敢之...
顶级阴阳!韩记者提问韩国队主帅... 2026年美加墨世界杯A组第三轮比赛中,韩国队在“打平即出线”的大好形势下,以0比1不敌南非队,场上...
苹果iOS 27版日历更新汇总... 6 月 25 日消息,科技媒体 9to5Mac 昨日(6 月 24 日)发布博文,报道称在 iOS ...
董子健喊“我很空”,韩红喊“走... 图片为AI生成 出品|搜狐科技 作者|张莹 6月17日,北京,《抓特务》首映礼。影片配乐制作人韩红用...
海淀又现全球首次,银河通用机器... 记者6月25日从海淀区获悉,银河通用Galbot S1具身智能重载机器人目前已在宁德时代量产线上7×...
新质策源导刊丨格蓝若:让人形机... 具身智能:万亿赛道的 “价值兑现”之考(上) 编者按 资本潮涌下,具身智能正在叩响“价值兑现”的大门...
微软终于修复Win11蓝牙顽疾... IT之家 6 月 25 日消息,据 Windows Latest 报道,微软刚刚推出迄今为止规模最大...
车企不“造人”,就出局? 来源 | 伯虎财经(bohuFN) 作者 | 楷楷 2026年的全球车圈,都将目光投向了一个全新的赛...
巴拿马船舶在中国港口遭针对?外... 澎湃新闻记者 杨文钦 于潇清6月25日,外交部发言人郭嘉昆主持例行记者会。有记者提问,据报道,巴拿马...
外交部:委内瑞拉强震暂无中国公... 6月25日,外交部发言人郭嘉昆主持例行记者会。在回答有关委内瑞拉地震中有无中国公民伤亡的问题时,郭嘉...