Python3 进行读取、修改和写Excel表格(.xlsx文件)的常用功能示例

本文详细介绍如何使用Python库xlrd、openpyxl和xlsxwriter进行Excel文件的读取、修改和创建,涵盖基础及进阶功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 按

读取我一般用xlrd(仅支持读),修改用openpyxl(支持读写改),写用xlsxwriter(仅支持写 )

2. 安装命令

xlrd参考:Python3安装xlrd
openpyxl参考:Python3安装openpyxl
xlsxwriter参考:Python3安装xlsxwriter
安装在此就不过多介绍了,新手可以参考Ipython的安装过程:https://blog.csdn.net/COCO56/article/details/81058483

3. 常用功能:

3.1. 基础功能

3.1.1. xlrd

  • 获取所有sheet的名字

    import xlrd #导入库
    
    workbook = xlrd.open_workbook('test.xlsx') #打开当前文件夹下的test.xlsx
    sheetnames = workbook.sheet_names() #获取该文件的所有sheet名(返回的是一个列表 )
    print(sheetnames) #打印所有sheet的名字的列表
    
  • 通过索引顺序获取Sheet

    worksheet=workbook.sheet_by_index(0) #索引默认从0开始
    
  • 通过名字遍历每一个sheet,打印总行数和总列数以及指定单元的值

    for sheetN in sheetnames:
                sheet = workbook.sheet_by_name(sheetN) #通过名称获取Sheet
                print(sheet.nrows, sheet.ncols) #打印此表格(Sheet)的行数和列数
                print(sheet.cell(0,0).value) #打印第一行第一列的单元格的值(索引从0开始)
    

3.1.2. openpyxl

  • 加载一个已存在的文件的例子(如果是需要新建的可以使用openpyxl.Workbook(‘hello.xlxs‘),不过单纯新建的话建议用xlsxwriter)并打印Sheet_names
    import openpyxl
    wb = openpyxl.load_workbook('test.xlsx')
    print(wb.get_sheet_names())
    
  • 接着上面的代码,访问第一个worksheet,获取该sheet的最大行数和最大列数(此外还有:min_row:表格的最小,min_column:表格的最小列,rows:按行获取单元格(Cell对象) - 生成器,columns:按列获取单元格(Cell对象) - 生成器,values:按行获取表格的内容(数据) - 生成器)
    ws = wb[wb.sheetnames[0]]
    print(ws.max_row)
    print(ws.max_column)
    
  • 打印第一行第一列的单元格的值(注意是从1开始,不是从0开始,另外 row=和column=可缺省)
    print(ws.cell(row=1, column=1).value)
    print(ws.cell(1, 1).value)    #row=和column=可缺省
    
  • 修改第一行第一列的单元格的值为1并保存(可以等全部修改完之后再保存,不需要每次修改都保存一下)
    ws.cell(1, 1).value = 1
    wb.save('test.xlsx')
    

3.1.3. xlsxwriter

  • 打开文件,添加sheet并写入数据
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook('test2.xlsx') #打开一个xlsx文件(如果打开的文件存在 ,则清空该文件,如果文件不存在,则新建)
    worksheet = workbook.add_worksheet() #新建一个Sheet(名字缺省的话,默认从Sheet1开始,可以添加自己的sheet名字
    worksheet.write(0,0,1) #修改该Sheet的第一行的第一列的元素为1(行号和列号默认从0开始)
    workbook.close()#最后关闭文件
    

3.2. 进阶功能

3.2.1. openpyxl

  1. 设置单元格大小(行高和列宽)
  2. 字母列号与数字列号之间的转换

3.2.2. xlsxwriter

官方文档:https://xlsxwriter.readthedocs.io/

  1. 设置自动换行、水平居中和垂直居中
    import xlsxwriter
    
    wb = xlsxwriter.Workbook('test.xlsx')
    cell_format_wrap = wb.add_format({'text_wrap':True})
    cell_format_vcenter = wb.add_format({'valign':'vcenter'})
    cell_format_center = wb.add_format({'align':'center'})
    cell_format_vcenter_and_center = wb.add_format({'align':'center', 'valign':'vcenter'})
    ws = wb.add_worksheet()
    ws.write(0, 0, 'data', cell_format_wrap)
    
  2. 设置列宽
    worksheet.set_column('A:B', 20) # 设置A到B列的列宽全为20
    worksheet.set_column(1, 3, 30)  # Width of columns B:D set to 30.
    
Python项目中处理Excel (.xlsx) 文件时,确保遵循Office Open XML标准是非常重要的。为了帮助你掌握这一技能,推荐深入阅读这篇技术文档:《Office OpenXML Excel (.xlsx)格式扩展技术规范》。文档详细描述了Excel (.xlsx)文件的结构,包括SpreadsheetML这一基于XML架构的详细定义,以及如何在不同应用程序中实现兼容性。 参考资源链接:[Office OpenXML Excel (.xlsx)格式扩展技术规范](https://wenku.csdn.net/doc/e25e8gcom1?spm=1055.2569.3001.10343)Python中解析生成Excel (.xlsx) 文件,我们可以使用开源库python-docx或openpyxl。这里以openpyxl为例,展示如何在项目中应用: 首先,你需要安装openpyxl库,可以使用pip进行安装: ``` pip install openpyxl ``` 接下来,我们将使用openpyxl来解析现有的.xlsx文件示例代码如下: ```python from openpyxl import load_workbook # 加载一个现有的.xlsx文件 workbook = load_workbook('example.xlsx') # 选择活动的工作表,或者可以根据名称选择 sheet = workbook.active # 读取单元格数据 cell_value = sheet['A1'].value print(cell_value) ``` 若要生成一个新的.xlsx文件,可以按照以下步骤操作: ```python from openpyxl import Workbook # 创建一个新的工作簿 workbook = Workbook() # 获取默认的工作表 sheet = workbook.active # 向单元格中入数据 sheet['A1'] = 参考资源链接:[Office OpenXML Excel (.xlsx)格式扩展技术规范](https://wenku.csdn.net/doc/e25e8gcom1?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

COCO56(徐可可)

建议微信红包:xucoco56

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值