无需安装 Office,用 Python 轻松更换 Excel 数据

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在一样平常数据处理处罚工作中,Excel的查找与更换是最频仍的操纵之一。当数据量较大时,手动查找更换不但耗时,还容易堕落。本文将先容怎样使用 Python 和免费库 Free Spire.XLS for Python,以编程方式实现 Excel 数据的批量查找与更换,无需安装Microsoft Office。
情况准备

通过pip下令即可完成安装:
  1. pip install Spire.XLS.Free
复制代码
焦点对象模子

库的焦点操纵围绕两个对象睁开:

  • Workbook:代表整个 Excel 工作簿,负责文件的加载与生存
  • Worksheet:代表单个工作表,提供单位格访问与查找更换本领
导入方式:
  1. from spire.xls import *
  2. from spire.xls.common import *
复制代码
根本用法:在整个工作表中查找和更换

最底子的操纵是在整个工作表中查找特定文本并将其更换为新内容。焦点方法是Worksheet.FindAllString(),它返回全部包罗指定字符串的单位格。
以下示例演示了怎样将工作表中全部的“总数”更换为“合计金额”,并高亮表现被修改的单位格:
  1. from spire.xls import *
  2. from spire.xls.common import *# 创建Workbook对象
  3. workbook = Workbook()
  4. # 加载Excel文件
  5. workbook.LoadFromFile("数据.xlsx")
  6. # 获取第一个工作表
  7. worksheet = workbook.Worksheets[0]
  8. # 查找工作表中包罗"总数"的全部单位格
  9. # 参数:要查找的字符串、是否区分巨细写、是否完全匹配
  10. ranges = worksheet.FindAllString("总数", False, False)
  11. # 遍历找到的单位格并更换
  12. for range in ranges:
  13. range.Text = "合计金额"
  14. # 设置配景致以突出表现被修改的单位格
  15. range.Style.Color = Color.get_Yellow()
  16. # 生存效果文件
  17. workbook.SaveToFile("更换效果.xlsx", ExcelVersion.Version2016)
  18. workbook.Dispose()
复制代码
FindAllString()方法的三个参数分别表现:待查找的字符串、是否区分巨细写(True 为区分)、是否要求完全匹配(True 为完全匹配)。
在指定单位格地域中查找和更换

当工作表数据量大时,限定搜索范围可以进步服从并制止误改。通过Worksheet.Range[]获取特定地域后,使用CellRange.FindAllString()方法在该地域内查找:
  1. from spire.xls import *
  2. from spire.xls.common import *workbook = Workbook()
  3. workbook.LoadFromFile("数据.xlsx")
  4. sheet = workbook.Worksheets[0]
  5. # 获取指定的单位格地域(A6到C13)
  6. range = sheet.Range["A6:C13"]
  7. # 在该地域内查找包罗"总数"的单位格
  8. cells = range.FindAllString("总数", False, False)
  9. for cell in cells:
  10. cell.Text = "合计金额"
  11. cell.Style.Color = Color.get_Yellow()
  12. workbook.SaveToFile("地域更换效果.xlsx", ExcelVersion.Version2016)
  13. workbook.Dispose()
复制代码
高级本领:查找后实行条件更换

在实际场景中,更换逻辑大概不是简单的文本更换,而是必要根据条件举行判定。以下示例展示了怎样在查找后根据单位格原有内容实行差别的更换逻辑:
  1. from spire.xls import *
  2. from spire.xls.common import *workbook = Workbook()
  3. workbook.LoadFromFile("贩卖数据.xlsx")
  4. worksheet = workbook.Worksheets[0]
  5. # 查找全部包罗数字的单位格(假设必要将贩卖额单位从"元"改为"万元")
  6. ranges = worksheet.FindAllString("元", False, False)
  7. for range in ranges:
  8. original = range.Text
  9. # 提取数字部分并转换为万元
  10. try:
  11. # 假设原始格式为"1234元"
  12. num = float(original.replace("元", ""))
  13. range.Text = f"{num / 10000:.2f}万元"
  14. except:
  15. # 如果格式不匹配,保持原样
  16. pass
  17. workbook.SaveToFile("条件更换效果.xlsx", ExcelVersion.Version2016)
  18. workbook.Dispose()
复制代码
结语

通过 Python 编程实现 Excel 数据的查找与更换,可以将重复性的人工操纵转化为自动化流程,尤其实用于定期更新的报表、大规模数据洗濯等场景。上述示例覆盖了从整表更换到准确地域更换的多种需求,开辟者可以根据实际业务场景机动组合使用。

免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金.
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表