python正则表达式查找匹配项并进行替换

文章讲述了如何使用Python的pandas库结合正则表达式处理Excel文件中的特定数据,例如以href=开头并以>结尾的字符串。通过读取Excel文件,应用正则表达式进行匹配和替换,然后保存修改后的内容到新文件。遇到的错误是FileNotFoundError,原因是文件路径不正确,解决方案是确保提供有效的文件路径。
摘要由CSDN通过智能技术生成

处理excel表开头结尾相同但内容不同的数据,例:以href开头 >结尾

pattern = r'href=[^ ]* a' 

这个正则表达式的含义是:

- `href=`:匹配字符串中以“href=”开头的部分。

- `[^ ]*`:匹配零个或多个非空格字符。#href=[^>]*> :匹配非">"字符

- `a`:匹配字符串中以“a”结尾的部分。

对单条数据:

import re
# 读取Excel文件并获取单元格内容
cell_value = "some text with href=123> and href=131>"
# 使用正则表达式查找匹配项并进行替换
pattern = r'href=[^>]*>'
replacement = ''
new_cell_value = re.sub(pattern, replacement, cell_value)
print(new_cell_value)

对整个excel:

import pandas as pd
import re
# 读取Excel文件并获取单元格内容
df = pd.read_excel(r'C:\Users\win10\Desktop\a.xls', sheet_name='Sheet1')
# 使用正则表达式查找匹配项并进行替换
pattern = r'href=[^>]*>'
replacement = ''
df.replace(to_replace=pattern, value=replacement, regex=True, inplace=True)
# 将修改后的数据保存到新文件中
writer = pd.ExcelWriter(r'C:\Users\win10\Desktop\a.xls')
df.to_excel(writer, index=False)

报错问题:

FileNotFoundError: [Errno 2] No such file or directory: 'a.xls' 

分析:

这个错误通常是由于文件路径设置不正确引起的。你需要检查文件路径是否正确,并确保Python可以找到该文件。 

解决:

1. 绝对路径:指定完整的系统路径,如`C:\Users\Username\Desktop\a.xls`(Windows)或 `/home/username/Desktop/a.xls`(Linux/MacOS)。

2. 相对路径:相对于当前工作目录的位置来指定,例如如果你在运行脚本时位于 `C:\Users\Username\Documents\Project` 目录下,则可以使用 `./a.xls` 或者 `../data/a.xls`(表示上一级目录下的data子目录) 来指向 a.xls 文件。 以下是一个示例代码,在 Windows 系统中访问桌面上名为“a.xls”

r'C:\Users\win10\Desktop\a.xls'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值