Python办公自动化-Task02

1、openpyxl包

import openpyxl

wb = openpyxl.load_workbook(root_path+'用户行为偏好.xlsx') #打开一个excel,openpyxl只能打开xlsx格式的表,xls 格式通过 xlwt 模块写,xlrd 模块读取

openpyxl.load_workbook(filename,read_only=False,keep_vba=False,data_only=False,keep_links=True)

        filename: str 类型,表示要打开的文件的相对/绝对路径;

        read_only: bool 类型,是否以只读模式打开文件,默认值为 False,可读写;

        keep_vba: bool 类型,是否保留文件中的 vba 内容(即使保留了也不一定在代码中能使用),默认值为         False,不保留;

        data_only: bool 类型,如果单元格中是 excel 公式,是以公式计算后的值的形式显示还是以公式内容形式显         示,默认值为 False,以公式内容形式展示;

        keep_links: bool 类型,是否保留单元格中的外链,默认值为 True,保留外链。

获取打开表中的表名清单:sht_names=wb.sheetnames 

选择打开某个sheet:sheet_nm=wb['Sheet3']

给单元格赋值:sheet_nm['A1'].value='你好'

在单元格中写入公式:sheet['B1'] = '=count(A:A)'

插入、删除列/行:

sheet_nm.insert_cols(idx,amount=1)  # idx是插入位置,amount是插入列数,默认是1

sheet_nm.insert_rows(idx,amount=1)  # idx是插入位置,amount是插入行数,默认是1

sheet_nm.delete_cols(idx=5, amount=2)  # idx是删除位置,amount是删除列数,默认是1

sheet_nm.delete_rows(idx=2, amount=5)  #  idx是删除位置,amount是删除行数,默认是1

移动区域:

sheet_nm.move_range('B3:E16',rows=1,cols=-1)  # 当数字为正即向下或向右,为负即为向上或向左

设置单元格格式:

from openpyxl.styles import Font

cell = sheet_nm['A1']

font = Font(name='黑体', size=20, bold=True, italic=True, color='FF0000')  #实例化一个 Font 对象

cell.font = font #把单元格按模式设置

注:仅为单个单元格设置,若统一设置区域的格式,用for循环对每个单元格做设置。

合并、取消合并单元格:

sheet_nm.merge_cells('A1:B2')  # 把A1:B2区域合并单元格

sheet_nm.unmerge_cells('A1:B2')  #取消A1:B2区域合并单元格

保存文件:

exl_1.save(filename) #保存为filename(带后缀)的excel文件

2、xlwings包

import xlwings as xw

app = xw.App(visible=True, add_book=False) #创建一个app应用,打开Excel程序

        visible:表示打开操作Excel过程是否可见

        add_book:表示启动app后是否创建新的工作簿

wb = app.books.open(filename) #打开一个工作簿(filename需要带后缀)

sht1 = wb.sheets.add('second_sht') # 在工作簿中新建一个sheet,起名为 second_sht

sht2 = wb.sheets('first_sht') # 选中已经存在的sheet

sht3 = wb.sheets[0] #过索引选择已存在的sheet

wb.sheets('first_sht').delete() #删除工作表

单元格操作

sht1.range('B1').value = 'Datawhale'  # 在工作表中指定位置插入数据

sht1.range('B2').value = ['DATAWHALE', 'FOR', 'THE', 'LEARNER'] # 在工作表指定位置插入多个数据 默认是横向插入

sht1.range('B3').options(transpose=True).value = [1, 2, 3, 4]  # 在工作表指定位置竖向插入多个数据,transpose=True表示转置

sht1.range('B7').value = [['a', 'b'], ['c', 'd']] # 在工作表指定位置开始插入多行数据 

sht1.range('B9').options(transpose=True).value = [['a', 'b'], ['c', 'd']]  # 在工作表指定位置开始插入多列数据

sht1.range('F2').formula = '=sum(B2:E2)' # 向单元格写入公式

a1_value=sht1.range('A1').value #获取A1单元格的值,range可以为区域

格式设置:

sht1.range('B3:C3').api.merge() #合并单元格

sht1.range('A1').api.Font.Color = (255,0,124) # 颜色

sht1.range('A1').api.Font.Name = '宋体'  # 字体

sht1.range('A1').api.Font.Size = 28  # 字体大小

sht1.range('A1').api.Font.Bold = True # 是否加粗

sht1.range('A1').api.NumberFormat = '0.0' # 数字格式

保存文件(使用xlwings退出程序,需要先保存文件,再关闭excel文件,然后退出excel程序):

wb.save(filename) #保存为filename的文件

wb.close() #关闭工作簿

app.quit() #退出Excel程序

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,458评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,030评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,879评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,278评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,296评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,019评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,633评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,541评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,068评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,181评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,318评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,991评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,670评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,183评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,302评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,655评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,327评论 2 358

推荐阅读更多精彩内容