Excel数据处理利器揭秘:openpyxl和xlsxwriter的强强联手

  • 引言

    • Excel文件在数据处理中扮演着重要的角色,而使用Python来读写和处理Excel文件已经成为许多开发者的首选。在本篇博文中,我们将介绍如何使用Python中的两个主要库——openpyxl和xlsxwriter,来读取和写入Excel文件
  • 准备工作

    • python3.x
    • openpyxl和xlsxwriter都是python第三方库,使用前需要安装再导入
      pip install openpyxl
      pip install xlsxwriter
  • 使用openpyxl读取Excel文件

    • openpyxl是一个功能强大的库,它可以让我们轻松地读取和操作Excel文件,下面将演示使用openpyxl读取excel文件的两种方式
    • 方式一:按单元格读取

      #!/usr/bin/env python3
      # coding:utf-8
      import openpyxl
      
      # 文件路径
      path = r"excel文件的路径"
      
      # 打开Excel文件
      workbook = openpyxl.load_workbook(path)
      
      # 选择工作表
      sheet = workbook['Sheet1']
      
      # 读取单元格数据
      cell_value = sheet['A1'].value
      print(cell_value)
      
      # 关闭Excel文件
      workbook.close()
    • 方式二:按行或按列读取

      #!/usr/bin/env python3
      # coding:utf-8
      import openpyxl
      
      # 文件路径
      path = r"excel文件的路径"
      
      # 打开Excel文件
      workbook = openpyxl.load_workbook(path)
      
      # 选择工作表
      sheet = workbook['Sheet1']
      
      # 读取行数据
      row_values = []
      for row in sheet.iter_rows(min_row=2, values_only=True):
          row_values.append(row)
      print(row_values)
      
      # 读取列数据
      column_values = []
      for column in sheet.iter_cols(min_col=2, values_only=True):
          column_values.append(column)
      print(column_values)
      
      # 关闭Excel文件
      workbook.close()
      
    • 封装成函数快速调用(推荐使用)

          def read_excel(path, sheet_name='Sheet1', column_num=None):
              data = []
              book = openpyxl.load_workbook(path, read_only=True)
              sheet = book[sheet_name]
              for row in sheet.iter_rows(min_row=1, values_only=True):
                  if column_num:
                      row_data = [str(row[num - 1]) for num in column_num]
                  else:
                      row_data = [str(cell) for cell in row]
                  data.append(row_data)
              book.close()
              return data
  • 使用xlsxwriter写入Excel文件

    • xlsxwriter则是一个专门用于创建和写入Excel文件的库,它提供了丰富的功能和灵活的选项,使我们能够通过Python轻松地生成复杂的Excel文件
    • 指定单元格写入数据

      #!/usr/bin/env python3
      # coding:utf-8
      import xlsxwriter
      
      # 文件路径
      path = r"excel文件的保存路径"
      
      # 创建Excel文件
      workbook = xlsxwriter.Workbook(path)
      
      # 创建工作表
      sheet = workbook.add_worksheet()
      
      # 写入数据
      sheet.write('A1', 'Hello')
      sheet.write('B1', 'World')
      
      # 关闭Excel文件
      workbook.close()
      
    • 指定坐标写入

      #!/usr/bin/env python3
      # coding:utf-8
      import xlsxwriter
      
      # 文件路径
      path = r"excel文件的保存路径"
      
      # 创建Excel文件
      workbook = xlsxwriter.Workbook(path)
      
      # 创建工作表
      sheet = workbook.add_worksheet()
      
      # 写入数据
      data = [['Alice', 25], ['Bob', 30], ['Charlie', 35]]
      for row, row_data in enumerate(data, start=2):
          sheet.write_row(row, 0, row_data)
      
      # 关闭Excel文件
      workbook.close()
      
    • 写入普通文件

      def save_excel(_ls, path, _sheet_name='Sheet1', batch_size=10000):
          _book = xlsxwriter.Workbook(path, options={'strings_to_urls': False})
          _sheet = _book.add_worksheet(_sheet_name)
          batch_size = batch_size
          for i in range(0, len(_ls), batch_size):
              batch_data = _ls[i:i + batch_size]
              for _i in range(len(batch_data)):
                  for __i in range(len(batch_data[_i])):
                  _sheet.write(_i + i, __i, str(batch_data[_i][__i]))
          _book.close()
      
      
      # 传入_ls的数据格式:_ls = [['Alice', 25], ['Bob', 30], ['Charlie', 35]]
    • 写入带格式的文件(将json文件写入excel)

      def save_excel(_ls, path, _sheet_name='Sheet1', batch_size=10000):
          _book = xlsxwriter.Workbook(path, options={'strings_to_urls': False})
          _sheet = _book.add_worksheet(_sheet_name)
          batch_size = batch_size
          for i in range(0, len(_ls), batch_size):
              batch_data = _ls[i:i + batch_size]
              for _i in range(len(batch_data)):
                  for __i in range(len(batch_data[_i])):
                  _sheet.write(_i + i, __i, json.dumps(batch_data[_i][__i], ensure_ascii=False, indent=2))
          _book.close()
      
      
  • 总结

    • 通过学习使用openpyxl和xlsxwriter库,您将能够快速、高效地处理Excel文件并进行数据分析。这对于从事数据处理、报告生成等工作的开发者来说是非常有价值的
  • 32
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel数据透视表是Excel图表工具中的一项功能强大的工具,用于对表格数据进行分类汇总和分析。以下是Excel数据透视表的使用方法详解: 1. 准备数据:在Excel中,将需要进行汇总和分析的数据放置在一个单独的工作表中,并确保每列都有正确的标题。 2. 选择数据:选中需要进行数据透视表的范围,包括标题和所有数据。 3. 创建数据透视表:在Excel菜单栏中,选择“插入”选项卡,点击“数据透视表”按钮,会弹出“创建数据透视表”对话框。 4. 设置数据源:在“创建数据透视表”对话框中,选择数据透视表的数据源范围,可以是当前工作表或其他工作簿。 5. 定义数据透视表的布局:在“创建数据透视表”对话框的“布局”选项中,选择需要用作行标签、列标签、数据和筛选器的字段。 6. 设置汇总方式:在“创建数据透视表”对话框的“值字段设置”选项中,选择需要进行汇总的字段,并设置汇总的方式,如求和、平均值等。 7. 定义数据透视表的样式:在“创建数据透视表”对话框的“样式”选项中,选择数据透视表的样式或自定义样式。 8. 确定数据透视表的位置:在“创建数据透视表”对话框中,选择数据透视表要插入的位置,可以是新的工作表或当前工作表的指定位置。 9. 完成数据透视表的创建:点击“确定”按钮,Excel将根据选择的设置,生成相应的数据透视表。 10. 使用数据透视表:生成的数据透视表将显示在所选位置上,可以通过拖动字段进行重新布局、通过筛选器进行数据筛选、通过更改汇总方式进行数据汇总等。 总之,Excel数据透视表是一种非常方便和实用的工具,可以帮助我们对大量数据进行分类汇总和分析,从而更好地理解和利用数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值