⑴ python中如何模糊搜索exl里的值并返还sheet页名字
这不是模糊查找
如果你用xlwings,那大概是
importxlwingsasxw
xb=xw.Book("xxx.xlsx")
@xw.func
defaaa(x):
ret=[]
foriinxb.sheets[:-1]:
ifxin','.join(i[1,1].expand('down').value):
ret.append(i.name)
return','.join(ret)
直接运行是:
import xlwings as xw
xb=xw.Book('xxx.xlsx')
sht=xb.sheets[-1]
ret=[]
for i in sht[2,1].expand('down').value:
tmp=[]
for j in xb.sheets[:-1]:
if i in ','.join(j[1,1].expand('down').value):
tmp.append(j.name)
ret.append(','.join(tmp))
sht[2,2].options(transpose=True).value=ret
这里没法写缩进,改一下把。。。
⑵ python如何读取文件的内容
# _*_ coding: utf-8 _*_
import pandas as pd
# 获取文件的内容
def get_contends(path):
with open(path) as file_object:
contends = file_object.read()
return contends
# 将一行内容变成数组
def get_contends_arr(contends):
contends_arr_new = []
contends_arr = str(contends).split(']')
for i in range(len(contends_arr)):
if (contends_arr[i].__contains__('[')):
index = contends_arr[i].rfind('[')
temp_str = contends_arr[i][index + 1:]
if temp_str.__contains__('"'):
contends_arr_new.append(temp_str.replace('"', ''))
# print(index)
# print(contends_arr[i])
return contends_arr_new
if __name__ == '__main__':
path = 'event.txt'
contends = get_contends(path)
contends_arr = get_contends_arr(contends)
contents = []
for content in contends_arr:
contents.append(content.split(','))
df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])
(2)python模糊搜索文件内容扩展阅读:
python控制语句茄团
1、if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
2、for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
3、while语句,当条件为真时,循环运行语句块。
4、try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
5、class语句,用于定义顷纳拍类型。
6、def语句,用于定义函数和类型的方法。雀羡
⑶ python3 正则表达式如何实现中文模糊匹配替换并输出
要使用正则表达式实现中文模型李糊匹配替换并输出,你可以使用 Python 的 re 模块。以下是一个示例代码,读取一个名为 input.txt 的文件,将其中的 "竹某婵" 或 "竹婵某" 替换为 "竹婵婵",然后将结果保存到一个名为 output.txt 的新文件中:
import re
# 定义一个函数来实现替换操作
def replace_pattern(match_obj):
return "竹婵婵"
# 读取文件内容
with open("input.txt", "r", encoding="utf-8") as file:
content = file.read()
# 使用正则表达式进行模糊匹配替换
pattern = r"竹(?:某|婵)(?:婵|某)"
replaced_content = re.sub(pattern, replace_pattern, content)
# 将替换后的内容写入新的文件
with open("output.txt", "w", encoding="utf-8") as file:
file.write(replaced_content)
在这个例子中,正则表达式 r"竹(?:某|婵)(?:婵|某)" 用于匹配 "竹某婵" 或 "竹婵某"。(?:...) 是一个非捕获组,它表示匹配其中的任意一个字符,但不会捕获该组。这里的组分别包含 "某" 和 "婵",因此可以匹配 "竹某婵" 或 "竹婵某"。接下来,re.sub 函数用于替换匹配到的字符串。这里我们提供了一个替换函行缓数 replace_pattern,它直接返回 "竹婵婵"。最后,将替换后的内容写入一个名为 output.txt 的新文件。
…………
回复:
如果要实现匹配任意特定中文字符,可以使用 Unicode 的中文字符卜带迟范围。以下是修改后的示例代码,可以将 "竹某婵" 或 "竹婵某" 替换为 "竹婵婵",其中 "某" 为任意中文字符:
import re
# 定义一个函数来实现替换操作
def replace_pattern(match_obj):
return "竹婵婵"
# 读取文件内容
with open("input.txt", "r", encoding="utf-8") as file:
content = file.read()
# 使用正则表达式进行模糊匹配替换
pattern = r"竹[u4e00-u9fa5]婵|竹婵[u4e00-u9fa5]"
replaced_content = re.sub(pattern, replace_pattern, content)
# 将替换后的内容写入新的文件
with open("output.txt", "w", encoding="utf-8") as file:
file.write(replaced_content)
在这个例子中,正则表达式 r"竹[u4e00-u9fa5]婵|竹婵[u4e00-u9fa5]" 用于匹配 "竹某婵" 或 "竹婵某",其中 "某" 为任意中文字符。[u4e00-u9fa5] 用于匹配任意一个中文字符。接下来,re.sub 函数用于替换匹配到的字符串。这里我们提供了一个替换函数 replace_pattern,它直接返回 "竹婵婵"。最后,将替换后的内容写入一个名为 output.txt 的新文件。
⑷ 请问如何用python实现查找指定文件
若不包含子目录的遍历:
importglob
forfilenameinglob.glob("f:/py/*.exe"):
printfilename
否则可以:
importos
importfnmatch
defiterfindfiles(path,fnexp):
forroot,dirs,filesinos.walk(path):
forfilenameinfnmatch.filter(files,fnexp):
yieldos.path.join(root,filename)
forfilenameiniterfindfiles(r"f:/py","*.exe"):
printfilename
⑸ python查找txt文件中关键字
伪代码:
1、遍历文件夹下所有txt文件
rootdir='/path/to/xx/dir'#文件夹路径
forparent,dirnames,filenamesinos.walk(rootdir):
forfilenameinfilenames:
2、读取txt文件里的内容,通过正则表达式把txt里多篇文章拆分开来。得到一个列表:['{xx1}##NO','{xx2}','{xx3}##NO']
3、把上面得到的list写到一个新的临时文件里,比如:xx_tmp.txt,然后:shutil.move('xx_tmp.txt','xx.txt')覆盖掉原来的文件
⑹ 用python模糊检索EXCEL文件的内容,并写入新的EXCEL表
这类基础逻辑编程初学可以手写逻辑,这个基本如下:
载入基础信息(Excel地址)
###手动指定###
获取输入查询数据
###input()获取,保存指变量###
打开Excel文件
####使用openpyxl打开,获取工作簿对象和表对象####
获取excel有效行与列数据
### 可以函数判断,最好手工写非空判断获取####
遍历返回结果数据
### 读取每个单元格 查询字符串即可,习惯用Count还是find函数看具体需求和习惯###
写入文件
同样可以采用openpyxl写入excel或者直接写入txt文件