⑴ 用python模糊檢索EXCEL文件的內容,並寫入新的EXCEL表
這類基礎邏輯編程初學可以手寫邏輯,這個基本如下:
載入基礎信息(Excel地址)
###手動指定###
獲取輸入查詢數據
###input()獲取,保存指變數###
打開Excel文件
####使用openpyxl打開,獲取工作簿對象和表對象####
獲取excel有效行與列數據
### 可以函數判斷,最好手工寫非空判斷獲取####
遍歷返回結果數據
### 讀取每個單元格 查詢字元串即可,習慣用Count還是find函數看具體需求和習慣###
寫入文件
同樣可以採用openpyxl寫入excel或者直接寫入txt文件
⑵ python怎麼兩兩查找多個文件相同內容
可以用 difflib庫,下面給一個例子,具體需求自己研究
假如在同一個目錄下有a.txt, b.txt 兩個文本文件
a.txt 內容是
aaa
bbb
b.txt內容是
aaa
ccc
import difflib
a = open('a.txt', 'U').readlines()
b = open('b.txt', 'U').readlines()
diff = difflib.ndiff(a, b)
sys.stdout.writelines(diff)
結果是:
aaa
- bbb+ ccc
⑶ 請問如何用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關於找到文件並引用
一、Python查找模塊的路徑
運行Python應用或引用Python模塊,Python解釋器要有一個查找的過程。可以通過設置一個環境變數PYTHONPATH為Python增加一個搜索路徑,以方便查找到相關Python模塊(不同的操作系統環境變數的設置稍有不同,默認以下都是WIndows環境),這與眾多應用程序需要設置一個系統環境變數的道理是一樣的。在命令行中可以通過以下命令設置:
C:\Users\Administrator>set PYTHONPATH=E:/Project/Python/MoleAndPackage/
進入Python環境後可以,通過Python的sys.path屬性獲得當前搜索路徑的配置,可以看到之前我們設置的路徑已經在當前搜索路徑中了。
C:\Users\Administrator>pythonPython 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32Type "help", "right", "credits" or "license" for more information.>>> import sys>>> sys.path['', 'E:\\Project\\Python\\MoleAndPackage', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 'C:\\Python\\lib\\plat-win', 'C:\\Python\\lib\\lib-tk', 'C:\\Python', 'C:\\Python\\lib\\site-packages']>>>
也可以通過sys模塊的append方法在Python環境中增加搜索路徑。
>>> sys.path.append("E:\\Project\\Python\\MoleAndPackage2")>>> sys.path['', 'E:\\Project\\Python\\MoleAndPackage', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 'C:\\Python\\lib\\plat-win', 'C:\\Python\\lib\\lib-tk', 'C:\\Python', 'C:\\Python\\lib\\site-packages', 'E:\\Project\\Python\\MoleAndPackage2']>>>
二、Python中的模塊和包
前面已經提到每個.py文件都是可以認為是一個Python模塊,.py文件中可以包含類、方法、變數和常量(Python還沒有嚴格意義上的常量,只是約定大寫的變數作為常量),文件內也可以直接寫所有的邏輯語句並在載入時從上之下直接執行,這與其他解釋型語言是類似的。例如我們選擇在文件夾MoleAndPackage中創建一個文本文件person.py文件即創建了一個簡單的Python模塊,其內容如下:
# -*- coding: utf-8 -*-ID = 1name = "This person"print namedef say(something):print name,'says', something
那麼接下來我們就可以在Python環境中執行person.py。我們可以直接像執行一個批處理文件那樣執行person.py,在cmd命令行輸入:
Python E:/Project/Python/MoleAndPackage/person.py
本質上任何一個Python應用的入口模塊都是這樣被執行的(像C#和Java中的main函數),但是引用一個模塊,就要建立運行它的上下文環境。我們先設置一個環境變數PYTHONPATH,以便Python解釋器找到person.py模塊,然後import person模塊,即可訪問其中的方法或變數。
C:\Users\Administrator>pythonPython 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32Type "help", "right", "credits" or "license" for more information.>>> import personThis person>>> person.say("hello")This person says hello>>> print person.nameThis person>>>
Python需要去某些固定的路徑下去查找Python模塊,上面我們設置在MoleAndPackage中查找。但是這些路徑下也是有目錄層次的,Python是如何查找子目錄中的模塊呢?特別是引用第三方包時,我們也需要知道一定的層次關系。實際上,Python通過目錄和文件構建包結構,並且包是層層嵌套的,和目錄層層嵌套是一樣的,這樣就構成了包內的訪問路徑(或者命名空間,也可以說Python應用的命名空間與其目錄和文件結構是對應了,似乎缺少了一些靈活,但也更簡單)。例如我們在MoleAndPackage文件夾下,創建一個文件夾animal,裡面創建一個文本文件pet.py,其內容如下:
# -*- coding: utf-8 -*-ID = 2name = "This pet"print namedef run(somewhere):print name,'runs', somewhere
那麼如何引用pet.py這個模塊呢?按照Python的約定,需要在animal文件夾中創建名為__init__.py的空文本文件,以標識animal文件夾是一個包。倘若animal文件夾內還有文件夾作為包,也必須包含__init__.py文件。這樣就層層標識了訪問的路徑。
>>> import animal.petThis pet>>> print animal.pet.nameThis pet>>> animal.pet.run("everywhere")This pet runs everywhere>>>
或者使用from關鍵字直接導入模塊內的屬性或方法:
>>> from animal.pet import name,run>>> print nameThis pet>>> run("everywhere")This pet runs everywhere>>>
三、Python模塊間引用
簡答來說,只要Python模塊在其執行環境配置的搜索路徑中,並且其所在位置是包結構的一部分,那麼我們就可以引用該模塊。上文已經提供了模塊引用的基本示例。只不過模塊間引用時import語句是寫在模塊文件中,我們修改person.py模塊的代碼。
1、from、import和as
# -*- coding: utf-8 -*-ID = 1name = "This person"print namedef say(something):print name,'says', somethingfrom animal.pet import name as pet_name, run as pet_rundef have():print name,'has', pet_name
import語句可以寫在文檔中的任何位置,甚至if語句中,以便更好的控制模塊引用。還可以通過as語句,使用另一個變數名進行引用,以避免變數名沖突。>>> import personThis personThis pet>>> print person.nameThis person>>> print person.pet_nameThis pet>>> person.have()This person has This pet>>>
⑸ 如何用Python os.path.walk方法遍歷搜索文件內容的操作詳解
本文是關於如何用Python os.path.walk方法遍歷搜索文件目錄內容的操作詳解的文章,python 代碼中用os.path.walk函數這個python模塊的方法來遍歷文件,python列出文件夾下的所有文件並找到自己想要的內容。
文中使用到了Python os模塊和Python sys模塊,這兩個模塊具體的使用方法請參考玩蛇網相關文章閱讀。
Python os.path.walk方法遍歷文件搜索內容方法代碼如下:
?
041
import os, sys#代碼中需要用到的方法模塊導入 listonly = False skipexts = ['.gif', '.exe', '.pyc', '.o', '.a','.dll','.lib','.pdb','.mdb'] # ignore binary files def visitfile(fname, searchKey): global fcount, vcount try: if not listonly: if os.path.splitext(fname)[1] in skipexts: pass elif open(fname).read().find(searchKey) != -1: print'%s has %s' % (fname, searchKey) fcount += 1 except: pass vcount += 1 #www.iplaypy.com def visitor(args, directoryName,filesInDirectory): for fname in filesInDirectory: fpath = os.path.join(directoryName, fname) if not os.path.isdir(fpath): visitfile(fpath,args) def searcher(startdir, searchkey): global fcount, vcount fcount = vcount = 0 os.path.walk(startdir, visitor, searchkey) if __name__ == '__main__': root=raw_input("type root directory:") key=raw_input("type key:") searcher(root,key) print 'Found in %d files, visited %d' % (fcount, vcount)
⑹ 用Python查找某文件夾的文件名稱,並對文件名進行更改的庫名稱是什麼
要在文件夾中搜索文件名並在 Python 中重命名文件,可以使用模塊和模塊。該模塊提供基於通配符模式匹配文件路徑的函數,而該模塊提供用於處理文件和文件夾(如重命名文件)的函數。globosglobos
下面是如何使用 and 模塊在文件夾中搜索文件名並重命名文件的示例:globos
此代碼使用該函數搜索指定文件夾中的文件,使用通配符模式匹配所有文件。然後,它循環訪問文件名,並使用該函數拆埋慶將文件名拆分為其基本名稱和擴展名。然後,它會向基名稱添加新後綴,並使用該函數重命名文件。glob.glob()*os.path.splitext()os.rename()
總體而言,和模塊提供了一種強大而靈活的方式來搜索文件夾中的文件名並在 Python 中重命名文件。您可以使用這些模旅握塊來實現各種文件管理任務,例如基於不同模式搜索文件、批量重命名文件以及在文件夾之間移動或復制文件。液鎮
回答不易望請採納