zoukankan      html  css  js  c++  java
  • python的xlwings库读写excel操作总结

    python的xlwings库读写excel操作总结

    一、总结

    一句话总结:

    xlwings 是 Python 中操作Excel的一个第三方库,支持.xls读写,.xlsx读写,操作非常简单,功能也很强大

    1、xlwings 中的逻辑:应用->工作簿->工作表->范围 对应的代码?

    应用:一个应用(一个xlwings程序):app = xw.App(visible=True, add_book=False)
    工作簿(book):excel文件(excel程序):wb = app.books.add()
    工作表(sheet):sheet:sht = wb.sheets['sheet1']
    范围:行列:sht.range('a6').expand('table').value = [['a','b'],['d','e']]
    import xlwings as xw
    
    # 写到Excel中去
    # add_book也就是是否增加excel 的book
    # visible=True 表示操作过程是否可显示
    app = xw.App(visible=True, add_book=False)
    # 工作簿
    wb = app.books.add()
    
    # 页sheet1
    sht = wb.sheets['sheet1']
    # 单个值插入
    # sht.range('A1').value = '产品名称'
    # sht.range('B1').value = '编号'
    # sht.range('C1').value = '价格'
    # sht.range('A2').value = '不告诉你'
    # sht.range('B2').value = 'n110110'
    # sht.range('C2').value = '688.26'
    # sht.range('A3').value = '不告诉你1'
    # sht.range('B3').value = 'n1101101'
    # sht.range('C3').value = '688.261'
    
    # 插入一行
    # sht.range('a1').value = [1,2,3,4]
    # 等同于
    # sht.range('a1:d4').value = [1,2,3,4]
    
    # 插入一列
    # sht.range('a2').options(transpose=True).value = [5,6,7,8]
    
    # 同时插入行列
    # sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]
    
    # 在当前目录下生成文件
    wb.save('demo1.xlsx')
    wb.close()
    app.quit()
    
    # import os
    # path1=os.path.abspath('.')   # 表示当前所处的文件夹的绝对路径
    # print(path1)
    # path2=os.path.abspath('..')  # 表示当前所处的文件夹上一级文件夹的绝对路径
    # print(path2)
    
    # 关于路径问题,切换到指定目录即可

    2、xlwings库向excel 插入值的方式?

    a、插入单个值:sht.range('A1').value = '产品名称'
    b、插入一行:sht.range('a1').value = [1,2,3,4] 或者 sht.range('a1:d4').value = [1,2,3,4]
    c、插入一列:sht.range('a2').options(transpose=True).value = [5,6,7,8]
    d、同时插入行列:sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]

    3、xlwings库 读写excel基本操作步骤?

    就是按照xlwings库逻辑(应用->工作簿->工作表->范围)操作即可,打开的记得关就好了,该读就读,该写就写
    app = xw.App(visible=True, add_book=False)
    # 工作簿
    wb = app.books.add()
    # 页sheet1
    sht = wb.sheets['sheet1']
    # 同时插入行列
    sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]
    # 在当前目录下生成文件
    wb.save('demo1.xlsx')
    wb.close()
    app.quit()

    4、xlwings库 读取excel中的数据的方式?

    print(sht.range('a1:c7').value),这样读行,读列,还是同时读行读列都可以
    # 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
    print(sht.range('a1:c7').value)
    
    # 读取行:得一维列表 
    # print(sht.range('a1:c1').value)
    
    # 读取列:得一维列表
    # print(sht.range('a1:a7').value)
    import xlwings as xw
    
    app = xw.App(visible=True, add_book=False)
    # 显示警报()
    app.display_alerts = True
    # 屏幕更新(应用中)
    app.screen_updating = True
    # 打开文件
    
    wb = app.books.open('demo1.xlsx')
    sht = wb.sheets['sheet1']
    
    # 遍历读取单元格
    # column_name = ['A','B',"C"]
    # data_list = [] #将数据存到list中去
    # for i in range(3): # 遍历行
    #     row_list = []
    #     for j in range(3): #遍历列
    #         str1 = column_name[j]+str(i+1)
    #         a = sht.range(str1).value
    #         row_list.append(a)
    #         print(a)
    #         pass
    #     data_list.append(row_list)
    #     pass
    # print(data_list)
    
    # 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
    print(sht.range('a1:c7').value)
    
    # 读取行:得一维列表 
    # print(sht.range('a1:c1').value)
    
    # 读取列:得一维列表
    # print(sht.range('a1:a7').value)
    
    
    wb.save()
    wb.close()
    app.quit()

    二、python的xlwings库读写excel操作总结

    博客对应课程的视频位置:

    1、写

     1 """
     2 
     3 xlwings介绍
     4 xlwings 是 Python 中操作Excel 的一个第三方库,
     5 支持.xls读写,.xlsx读写
     6 操作非常简单,功能也很强大
     7 
     8 1、安装库
     9 pip3 install xlwings
    10 
    11 2、引入库
    12 import xlwings as xw
    13 
    14 3、
    15 应用->工作簿->工作表->范围
    16 
    17 应用:一个应用(一个xlwings程序):
    18 app = xw.App(visible=True, add_book=False)
    19 
    20 工作簿(book):
    21 excel文件(excel程序):wb = app.books.add()
    22 
    23 工作表(sheet):
    24 sheet:sht = wb.sheets['sheet1']
    25 
    26 范围:行列:
    27 sht.range('a6').expand('table').value = [['a','b'],['d','e']]
    28 
    29 xlwings.App(visible=True,add_book=False)
    30 其中参数visible(表示处理过程是否可视,也就是处理Excel的过程会不会显示出来),add_book(是否打开新的Excel程序,也就是是不是打开一个新的excel窗口)
    31 
    32 """
    33 import xlwings as xw
    34 
    35 # 写到Excel中去
    36 # add_book也就是是否增加excel 的book
    37 # visible=True 表示操作过程是否可显示
    38 app = xw.App(visible=True, add_book=False)
    39 # 工作簿
    40 wb = app.books.add()
    41 
    42 # 页sheet1
    43 sht = wb.sheets['sheet1']
    44 # 单个值插入
    45 # sht.range('A1').value = '产品名称'
    46 # sht.range('B1').value = '编号'
    47 # sht.range('C1').value = '价格'
    48 # sht.range('A2').value = '不告诉你'
    49 # sht.range('B2').value = 'n110110'
    50 # sht.range('C2').value = '688.26'
    51 # sht.range('A3').value = '不告诉你1'
    52 # sht.range('B3').value = 'n1101101'
    53 # sht.range('C3').value = '688.261'
    54 
    55 # 插入一行
    56 # sht.range('a1').value = [1,2,3,4]
    57 # 等同于
    58 # sht.range('a1:d4').value = [1,2,3,4]
    59 
    60 # 插入一列
    61 # sht.range('a2').options(transpose=True).value = [5,6,7,8]
    62 
    63 # 同时插入行列
    64 # sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]
    65 
    66 # 在当前目录下生成文件
    67 wb.save('demo1.xlsx')
    68 wb.close()
    69 app.quit()
    70 
    71 # import os
    72 # path1=os.path.abspath('.')   # 表示当前所处的文件夹的绝对路径
    73 # print(path1)
    74 # path2=os.path.abspath('..')  # 表示当前所处的文件夹上一级文件夹的绝对路径
    75 # print(path2)
    76 
    77 # 关于路径问题,切换到指定目录即可
     

    2、读

     1 import xlwings as xw
     2 
     3 app = xw.App(visible=True, add_book=False)
     4 # 显示警报()
     5 app.display_alerts = True
     6 # 屏幕更新(应用中)
     7 app.screen_updating = True
     8 # 打开文件
     9 
    10 wb = app.books.open('demo1.xlsx')
    11 sht = wb.sheets['sheet1']
    12 
    13 # 遍历读取单元格
    14 # column_name = ['A','B',"C"]
    15 # data_list = [] #将数据存到list中去
    16 # for i in range(3): # 遍历行
    17 #     row_list = []
    18 #     for j in range(3): #遍历列
    19 #         str1 = column_name[j]+str(i+1)
    20 #         a = sht.range(str1).value
    21 #         row_list.append(a)
    22 #         print(a)
    23 #         pass
    24 #     data_list.append(row_list)
    25 #     pass
    26 # print(data_list)
    27 
    28 # 读取行列:读取A1:C7(直接填入单元格范围就行了),得到一个二维列表
    29 print(sht.range('a1:c7').value)
    30 
    31 # 读取行:得一维列表 
    32 # print(sht.range('a1:c1').value)
    33 
    34 # 读取列:得一维列表
    35 # print(sht.range('a1:a7').value)
    36 
    37 
    38 wb.save()
    39 wb.close()
    40 app.quit()
     
  • 相关阅读:
    ASCII码对照表 And HTML字符实体
    操作系统自带命令查看文件的哈希
    HMAC简介及HMAC-SHA256实现Demo
    CSV文件注入漏洞简析
    Kubernetes集群的安全机制
    Kubernetes -- Horizontal Pod Autoscaler
    获取两坐标之间距离
    在CentOS 7中搭建Git服务器
    centos7 搭建svn服务器
    node.js依赖express解析post请求四种数据格式()
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13233572.html
Copyright © 2011-2022 走看看