C:\Python\term_frequency\textbase

如果不想輸入三次不同參數
可以用os.listdir() 搭配for迴圈
import os
path=’C://Python/term_frequency/textbase’
“””
#需要這個方向的 /
#不然會出現:
OSError: [WinError 123] 檔案名稱、目錄名稱或磁碟區標籤語法錯誤。: ‘C:\\Python\term_frequency\textbase’
“””
print(os.listdir(path))

若有目錄
os.listdir(path)也會含目錄:

資料夾內的檔案如下:

全數都是需要處理的csv檔
若有其他子目錄或非csv檔
os.listdir() 全部都會加進來list中
如何過濾不要的檔案?
以下解釋 glob.glob() 的含義:
-
globbing(通配符匹配):globbing 是一種通過使用通配符(例如星號
*和問號?)來匹配文件或文件夾名稱的方法。通配符匹配允許您模糊地匹配文件或文件夾名稱,以找到符合特定模式的所有文件或文件夾。 -
glob模塊:Python的glob模塊提供了一個名為glob()的函數,該函數允許您使用通配符來搜索文件系統中的文件或文件夾。通過使用glob(),您可以輕鬆地查找符合特定模式的文件,並將它們返回為一個文件列表。
* 和 ? 是通配符,用於模式匹配文件或文件夾名稱。這些通配符在不同的操作系統和編程語言中都有通用的使用方式:
-
*(星號):*通配符匹配零個或多個字符。例如,*.txt將匹配所有以.txt為擴展名的文件。 -
?(問號):?通配符匹配一個字符。例如,file?.txt將匹配像file1.txt、fileA.txt這樣的文件,但不會匹配file.txt(因為它缺少一個字符)或file10.txt(因為它有多於一個字符的缺失)。
import os
import glob
folder = r”C:\antenna_AMS\21046\emt2csv\all”
fpath = os.path.join(folder, “*.csv” )
#可以連接字串成路徑形式(自動加\\)
#效果同folder + “\\” + “*.csv”
glob.glob(fpath)

輸出結果:

folder中故意多放一個
新文字文件.txt (副檔名非.csv)
確實沒將該檔名加入list中:

glob不支援所有正則表示法
簡單的正則表示法
可以再做一些篩選
glob.glob(“C:\\antenna_AMS\\21046\\emt2csv\\all\\[0-1][0-9].csv”)
[0-1][0-9]改成[\d]{2} 會搜尋不到任何路徑
目錄中故意多放一個aa.csv,將被濾除

推薦hahow線上學習python: https://igrape.net/30afN


![Python如何串接OpenAI /Claude /Gemini API自動將大量維修紀錄JSON轉自然語言描述(並避免中斷資料遺失)response = client.chat.completions.create() ; reply = response.choices[0].message.content Python如何串接OpenAI /Claude /Gemini API自動將大量維修紀錄JSON轉自然語言描述(並避免中斷資料遺失)response = client.chat.completions.create() ; reply = response.choices[0].message.content](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2025/07/20250716084059_0_c5b368.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python: list.index() 只能找到第一個元素的index,若元素有重複,如何找出所有index? indexes = [index for index, value in enumerate(my_list) if value == target] Python: list.index() 只能找到第一個元素的index,若元素有重複,如何找出所有index? indexes = [index for index, value in enumerate(my_list) if value == target]](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2024/10/20241010101216_0_12b6c0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)






近期留言