精华内容
下载资源
问答
  • python xlwings
    2021-09-02 10:15:29

    Python xlwings 更新表格sheet

    需求

    有A、B、C三个表格,需要根据A的sheet(名字为“定义”)来更新B、C对应的sheet,并且要保持表格的样式不变。

    实现

    # #####################################################
    # Function: update Excel information and remain the style
    # Install:
    #  a.install it manually with pip:
    #    pip install xlwings
    #  b.install with offline file tar.gz with pip:
    #    pip install xlwings-0.24.9.tar.gz
    # Reference: https://github.com/xlwings/xlwings
    # #####################################################
    import xlwings as xw
    import os
    
    def updateInfo(sheetName, path, save_path):
        # file FROM you want to copy sheet
        wb = xw.Book(path)
        # select sheet you want to copy
        sht = wb.sheets[sheetName]
        # file where you want to copy
        new_wb = xw.Book(save_path)
        print(new_wb.sheets)
        # copy needed sheet to the new_wb
        # set the filed from cell A1 to cell Z240
        sht.range('A1:Z240').api.Copy(new_wb.sheets[sheetName].range('a1').api)
        new_wb.save(save_path)
    
    if __name__ == "__main__":
    
        sheetName = "定义"
        baseFile = "\A.xlsx"
        updateFile_1 = r"\B.xlsx"
        updateFile_2 = r"\C.xlsx"
    
        # print(os.getcwd())
    
        path = os.getcwd() + baseFile
        save_path1 = os.getcwd() + updateFile_1
        save_path2 = os.getcwd() + updateFile_2
    
        # update info
        updateInfo(sheetName, path, save_path1)
        updateInfo(sheetName, path, save_path2)
    
    
    

    优化

    # #####################################################
    # Function: update Excel information and remain the style
    # Install:
    #  a.install it manually with pip:
    #    pip install xlwings
    #  b.install with offline file tar.gz with pip:
    #    pip install xlwings-0.24.9.tar.gz
    # Reference: https://github.com/xlwings/xlwings
    # #####################################################
    import xlwings as xw
    import os
    
    def updateInfo(sheetName, path, save_path):
        # set app invisible
        app = xw.App(visible=False, add_book=False)
        app.display_alerts = False
        app.screen_updating = False
        # file FROM you want to copy sheet
        # wb = xw.Book(path)
        wb = app.books.open(path)
        # select sheet you want to copy
        sht = wb.sheets[sheetName]
        # file where you want to copy
        # new_wb = xw.Book(save_path)
        new_wb = app.books.open(save_path)
        # print(new_wb.sheets)
        # copy needed sheet to the new_wb
        # set the filed from cell A1 to cell Z240
        sht.range('A1:Z240').api.Copy(new_wb.sheets[sheetName].range('a1').api)
        new_wb.save(save_path)
        wb.close()
        new_wb.close()
    
    if __name__ == "__main__":
    
        sheetName = "定义"
        baseFile = "\A.xlsx"
        updateFile_1 = r"\B.xlsx"
        updateFile_2 = r"\C.xlsx"
    
        # print(os.getcwd())
    
        path = os.getcwd() + baseFile
        save_path1 = os.getcwd() + updateFile_1
        save_path2 = os.getcwd() + updateFile_2
    
        # update info
        print("start update information")
        updateInfo(sheetName, path, save_path1)
        updateInfo(sheetName, path, save_path2)
        print("update information finish")
    
    
    

    参考资料

    xlwings

    xlwings操控excel表格

    更多相关内容
  • docs-xlwings-org-zh_CN-stable
  • docs-xlwings-org-zh_CN-stable.zip 虽然是中文文档,但是想到一部分内容还是英文的,
  •  因产品的同学试着用python统计Excel表格,但百度的程序又一直有各种问题, 所以叫我帮用python实现一个统计Excel表格程序;我之前也没有写过python操作Excel表格的程序,快速搜索实现了一下,还是发现一些问题,...
  • python xlwings使用说明
  • Python xlwings

    2021-06-28 16:01:35
    Python xlwings 工作薄的连接和创建 import xlwings as xw wb = xw.Book() # 创建一个新的工作薄 wb = xw.Book(‘filename.xlsx’) # 连接当前目录下的工作薄 app = xlwings.App(visible=False, add_book=True) #...

    Python xlwings

    工作薄的连接和创建

    import xlwings as xw
    wb = xw.Book() # 创建一个新的工作薄
    wb = xw.Book(‘filename.xlsx’) # 连接当前目录下的工作薄
    app = xlwings.App(visible=False, add_book=True) #visible=True 显示Excel工作簿;False 不显示工作簿
    add_book=False 不再新建一个工作簿;True 另外再新建一个工作簿
    app.books.add() # 创建一个新的工作薄
    app.books.open(‘filename.xlsx’) # 连接当前目录下的工作薄
    wb = app.books.active # 获取当前活动的工作簿

    工作表的连接

    sht = wb.sheets.active # 连接工作表
    sht = wb.sheets[0] # 连接工作表
    sht = wb.sheets[‘Sheet1’] # 连接工作表
    sht1 = wb.sheets.add() # 连接工作表
    sht1 = wb.sheets.add(‘新表’, after=sht) # 连接工作表

    读写数据

    写入读取单元格

    import xlwings as xw
    wb = xw.Book()
    sht = wb.sheets[‘Sheet1’] # 连接工作表
    sht.range(‘A1’).value = ‘Foo 1’
    print(sht.range(‘A1’).value)

    在这里插入图片描述
    批量写入

    wb = xw.Book()
    sht = wb.sheets[‘Sheet1’]
    sht.range(‘A1’).value = [[‘Foo 1’, ‘Foo 2’, ‘Foo 3’], [10.0, 20.0, 30.0]] # 批量写入
    sht.range(‘A1’).expand().value # 批量读取
    在这里插入图片描述
    sht.range(‘A1’).expand(‘right’).value # 按行读

    sht.range(‘A1’).expand(‘down’).value # 按列读
    在这里插入图片描述
    wb.save(‘test.xlsx’) # 保存
    wb.close()

    列表存储

    sht = xw.Book().sheets[0]
    sht.range(‘A1’).value = [[1],[2],[3],[4],[5]] # 列方向(嵌套列表)
    sht.range(‘A1:A5’).value
    [1.0, 2.0, 3.0, 4.0, 5.0]
    sht.range(‘A1’).value = [1, 2, 3, 4, 5]
    sht.range(‘A1:E1’).value
    [1.0, 2.0, 3.0, 4.0, 5.0]
    强制单个单元格变成列表
    sht.range(‘A1’).options(ndim=1).value
    [1.0]
    sht.range(‘A1:C1’).options(ndim=2).value #二维列表
    在这里插入图片描述
    sht.range(‘A1:A2’).options(ndim=2).value
    在这里插入图片描述

    颜色填充

    在这里插入图片描述

    sht.range(A1).color = ? # 颜色对应值
    A1 None B1 (255, 0, 0) C1 (255, 165, 0) D1 (255, 255, 0) E1 (0, 128, 0) F1 (0, 255, 255) G1 (0, 0, 255)H1(128, 0, 128)

    字体设置

    sht.range(‘A1’, ‘XFD1048576’).api.Font.Name = ‘微软雅黑’ # 全局字体
    sht.range(‘A1’).value = ‘ABCD’
    sht.range(‘A1’).api.Font.Size = 15 # 字号
    sht.range(‘A1’).api.Font.Bold = True # 加粗
    start_index = 3 # 下标从1开始
    length_string = 1 # 修改长度
    sht.range(‘A1’).api.GetCharacters(start_index, length_string).Font.Color = rgb_to_int((255, 0, 0)) # 设为红色
    在这里插入图片描述
    sht.range(‘B1’).value = ‘ABCDE’
    sht.range(‘B1’).api.Font.Italic = True # 斜体
    sht.range(‘B1’).api.Font.Strikethrough = True # 删除线
    在这里插入图片描述
    sht.range(‘C1’).value = ‘ABCDE’
    sht.range(‘C1’).api.Font.Underline = True # 下划线 4普通 5双下划线 -4119粗双下划线
    在这里插入图片描述
    sht.range(‘A2’).value = ‘a2’
    sht.range(‘A2’).api.GetCharacters(2, 1).Font.Superscript = True # 上标
    sht.range(‘B2’).value = ‘H2O’
    sht.range(‘B2’).api.GetCharacters(2, 1).Font.Subscript = True # 下标
    在这里插入图片描述
    sht.autofit() # 自动调整

    设置列宽

    sht.range(“A1”).column_width = 0.75 # 列宽

    合并拆分单元格

    sht.range(‘A1:B1’).merge() # 合并单元格
    sht.range(‘A1:B1’).unmerge() # 拆分单元格

    插入公式

    sht.range(‘A1’).value = [[‘语文’, ‘数学’, ‘总分’], [100, 100, None]]
    sht.range(‘C2’).formula = ‘=SUM(A2:B2)’
    在这里插入图片描述

    常用命令

    命令简介
    rng.clear_contents()清除单元格里的内容
    rng.clear()清除单元格的格式和内容
    rng.color设置颜色
    rng.column获得选定单元格区域第一列的列标,是以数字形式返回
    rng.count获得选定单元格区域的单元格数量
    rng.current_region获得待定单元格区域中活动单元格对象
    rng.formula=’=sum(b1:b5)’输入公式
    rng.formula获得单元格中的公式
    rng.hyperlink获得选定单元格区域里的超链接
    rng.add_hyperlink(r’www.baidu.com’,‘百度’,‘提示:点击即链接到百度’)给选定单元格设置超链接
    rng.column_width活动单元格的列宽
    rng.width返回选定区域总宽度
    rng.last_cell获得选定单元格右下角最后一个单元格对象
    rng.offset(row_offset=0,column_offset=0)将选定单元格区域进行移动
    rng.resize(row_size=None,column_size=None)改变选定单元格区域的大小
    rng.row获得选定单元格区域第一行的行号
    rng.row_height返回行的高度,所有行一样高返回行高,不一样返回None
    rng.height.获得选定单元格区域所有行的总高度
    rng.shape获得选定单元格区域行数和列数,返回一个元组
    rng.sheet获得选定单元格区域所在的工作表sheet
    rng.autofit,rng.columns.autofit,rng.rows.autofit将选定单元格区域自适应行高列宽,列宽自适应,行高自适应
    sht.range(‘a1’).expand(‘table’)向下向右选取表格
    sht.cells(行号,列号).value=’’按行号列号选择单元格,循环赋值时很有用
    sht.api.row(‘2:4’).delete.删除指定的行
    sht.api.row(‘2:4’).insert插入指定的行
    sht.api.NumberFormat = “@”设置单元格为文本格式
    展开全文
  • Python xlwings 操作Excel

    2022-06-07 11:01:30
    Python xlwings 操作Excel 单元格取值 合并单元格 清空单元格 单元格赋值

    Python xlwings 操作Excel

    导入 xlwings

    官方文档 https://docs.xlwings.org/en/stable/vba.html
    按照图示,安装 xlwings
    在这里插入图片描述

    Excel 操作

    import xlwings as xw
    
    
    def Operation_Excel(path):
        app = xw.App(visible=False, add_book=False)
        app.display_alerts = False
        app.screen_updating = False
        wb = app.books.open(path)
        try:
            sht = wb.sheets[0]
            rng = sht['A1:D2']  # 取出 A1:D2 单元格内的数据
            print(rng.value)
            s = ''
            for i in range(0, len(rng.value)):  # 循环行
                s += ','.join(
                    filter(lambda x: x != 'None', map(str, rng.value[i]))) + ' '  # 把行数据先转str,然后去除为None的单元格,剩余的用逗号拼接
            # list(map(lambda x: print_str(x), rng))
    
            sht.range('E1:H2').clear()  # 清空 E1:H2
            sht.range('E1:H2').merge()  # 合并 E1:H2
            sht.range('E1').value = s  # 把合并的内容 填写在合并后的单元格内
            wb.save()
            print(s)
            wb.close()
            app.quit()
        except Exception as e:
            print(e.args)
            wb.close()
            app.quit()
    
    
    file_path = r"..\files\demo.xlsx"  # 文件相对路径
    
    # Press the green button in the gutter to run the script.
    if __name__ == '__main__':
        Operation_Excel(file_path)
    
    
    展开全文
  • Python xlwings库的使用 学习一下xlwings库的使用方法,只是做自己的记录。 xlwings 库的安装: pip install xlwings xlwings 导入: import xlwings as xw 指定要操作的excel: wb = xw.book("C:\\ABC.xlsx") ...

    Python xlwings库的使用

    学习一下xlwings库的使用方法,只是做自己的记录。

    xlwings 库的安装: pip install xlwings

    xlwings 导入:

    import  xlwings as xw
    

    指定要操作的excel:

    wb = xw.book("C:\\ABC.xlsx")
    

    引用当前打开的excel表:

    wb=xw.books.active
    

    读写已经打开的excel,可以看到实时变化。
    在读写之前,要指定工作表:

    sheet = wb.sheets["sheet1"]
    

    指定当前活动的工作表:

    sheet=xw.sheets.active
    

    单元格中插入数据:

    sheet.range('B9').value = "Hello World!"
    

    读取单元格数据:

    sheet.range('B9').value
    

    单元格中插入图片:

    sheet.pictures.add(fig, name="plot", update=True)
    

    选取一个单元格,如A2:

    sheet.range('A2') 或 sheet.range(2,1)
    

    选取多个单元格,如A1:C3:

    sheet.range((1,1),(3,3)) 或 sheet.range[:3,:3]
    

    一维数据写进多个单元格中, 如A1, B1,C1:

    sheet.range((1,1)).value = [1,2,3]
    

    一维数据写进多个单元格中,如A1,A2,A3:

    sheet.range('A1').options(transpose=true).value = [1,2,3]
    

    提取多个单元格的数据:

    list = sheet.range('A1:C1').value
    

    二维数据写进单元格:

    list1=[['1','2','3'],[4,5,6]]
    sheet.range('A1').value=list1
    

    运行结果:
    在这里插入图片描述
    以上就是xlwings库的基本使用了,后续用到其他功能再增加。

    展开全文
  • Python xlwings 将数据写入表格

    千次阅读 2021-10-20 09:17:41
    利用xlwings,操作Excel文件,制作上述表格内容。制作步骤如图标注1-7。 可能用到的内容 xlwings - 让Excel跑得飞快! https://docs.xlwings.org/zh_CN/latest/ Excel VBA 参考 ...import xlwings as xw ...
  • python xlwings Pictures

    2021-01-18 15:35:08
    python xlwings Pictures import xlwings as xw app=xw.App() wb=app.books.open(r'C:\Users\Administrator\Desktop\2.xlsx') sht=wb.sheets[0] ''' add(image, link_to_file=False, save_with_document=True, ...
  • xlwings系列文章我想分为四块:(一)问题引入、安装、操作Application,Workbooks和worksheets,range的方法(二)如何与VBA,pandas交互(三)xlwings实战(四)pandas,openpyxl,xlwings对比分析李鑫:python xlwings excel...
  • python xlwings使用简介

    千次阅读 2020-12-03 23:32:05
    python excel xlwings 详解 官方文档: docs.xlwings.org/en/stable/q…导入库import xlwings as xw设为程序可见, 不新建工作薄app = xw.App(visible=True, add_book=False)新建文档,保存wb = xw.Book() wb.save...
  • Python xlwings获取指定数据的基本操作

    千次阅读 2022-03-12 15:08:39
    xlwings获取某行、某列等数据的基本操作
  • python xlwings库读写excel文件

    千次阅读 2021-07-16 10:48:02
    随着python网络爬虫技术的发展,python处理表格数据的需求越来越多,掌握一种快速操作excel表格数据的工具尤为重要。 一、关于xlwings xlwings开源免费,能够非常方便的读写Excel文件中的数据,并且能够进行...
  • Python xlwings模块简单使用

    万次阅读 多人点赞 2019-06-04 17:01:45
    Python xlwings模块操作excel xlwings 安装 xlwings 基础 xlwings 安装 操作excel模块的比较 xlwings官方文档 基本操作 安装 pip install xlwings xlwings 基础
  • Python Xlwings

    2021-01-14 14:14:48
    Python Xlwings 对App进行操作 app=xw.App() wb=app.books.open(r'C:\Users\Administrator\Desktop\1test.xlsm') # 1.打开Excel app=xw.App(visible=True,add_book=False) # visible是否可见,False表示在后台运行,...
  • python xlwings库对于excel单元格的操作

    千次阅读 2021-07-16 13:54:23
    文章目录前言一、xlwings获取单元格的数据与格式二、xlwings修改单元格的数据与格式总结 前言 在上一篇文章传送门介绍了xlwings库对于单元格的简单操作,本篇文章继续介绍xlwings对于excel单元格的其他操作。 一、...
  • python xlwings active指定sheet

    千次阅读 2021-12-24 11:27:05
    低版本的方法 sheet.api.activate 高版本 sheet.activate()
  • python xlwings 复制工作表

    千次阅读 2021-04-12 20:55:43
    python xlwings 复制工作表 其实xlwings并没有提供复制工作表的相应函数,要实现复制工作表功能,需要调用excel的vba里面的相应方法worksheet.Copy 下面看excel vba的帮助文档: 应用于 Chart、Charts、Sheets、...
  • 3)需要先勾选RunPythonUseUDFServer,左边的interpreter需要填入Python.exe的路径,PYTHONPATH填入所调用python脚本文件的路径(不包括文档名)如D\Python\code,UDFModules填入文档名,如Test.py注意为.py后缀文件...
  • I have been working on creating Excel reports automatically using Python and xlwings. Within these reports there are multiple charts and graphs which I now want to use in a pptx presentation keeping t...
  • 然而发现一个问题,发布的很多关于xlwings的文章,只是基于Python方面对于xlwings的初步介绍,或者就是作者对VBA根本就没有很深的认识或者是藏拙,无法应用到实际使用中。 写此文的原因在于,我想指定某一区域去查找...
  • Python xlwings - API

    千次阅读 2021-04-03 14:56:17
    Python xlwings - API https://docs.xlwings.org/en/stable/api.html # 官方文档 xw - apps(app) - books(book) - sheets(sheet) - range(range_row,range_column) 顶级方法 1. xlwings.view(obj, sheet=None, ...
  • Python xlwings range.api import xlwings as xw app=xw.App(add_book=False) wb = app.books.add() # 创建一个临时表格 wb.sheets.add(name='hello_friend') sht = wb.sheets['hello_friend'] # 选中hello_friend...
  • xlwings库操作Excel表格 本周工作需要用Python新建或者打开Excel表格,要求新建多个sheet,并且插入数据 在Python中可以操作Excel的库有很多: xlwingsxlwings pandas:pandas openpyxl:openpyxl xlsxwriter:...
  • 1.资源简介:Python操作Excel,常用Xlwings和Openpyx类,由于其知识琐碎,使用起来不太方便,因此自己把常用用法重新封装一个操作类。 2.应用场景:使用Python操作Excel,读、写、改、删情景,能大大提升工作效率。 ...
  • 使用range().api.NumberFormat = XXX即可修改格式比如:range('A1').api.NumberFormat = "@" #设置为文本格式range('A2').api.NumberFormat = "0.0" #设置为小数格式range('A3').api.NumberFormat = "yyyy-mm-dd" #...
  • xlwings,想复制a文件的一个区域到b文件指定位置,希望保留全部的格式(包括合并单元格)、内容(包括单元格中的图片),该怎么实现?
  • python xlwings 插入公式,自动计算

    千次阅读 2020-12-11 10:23:29
    # # 增加公式 只支持单个单元格数据写入,无法读写现有的excel文件 # # import xlsxwriter # # workbook = xlsxwriter.Workbook('yyyd.xlsx') # # worksheet = workbook.sheetnames[0] # # for kk in range(30): ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,255
精华内容 2,102
关键字:

python xlwings