⑴ 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文件