[英]How to read multiple txt files - Python
我是 python 新手,需要從目錄中讀取這些文件。
MHBK_Trade_20210924_8387_20211007113214.txt
MHBK_TradeCash_20210924_8387_20211007113214.txt
MHEU_Trade_20210924_6144_20211007113525.txt
MHEU_TradeCash_20210924_6144_20211007113525.tx
Trade_20210924_7190_20211007113353.txt
TradeCash_20210924_7190_20211007113353.txt
我這樣做是為了讀取文件。
但是這樣每次我都要告知文件的完整名稱。 我只想閱讀第一部分,因為這永遠不會改變。
def findmefile(directory, containsInFilename):
entity_filenames = {}
for file in os.listdir(directory):
if containsInFilename in file:
entity_filenames[re.findall("(.*?)_", file)[0]] = file
return entity_filenames
# Get the core Murex file names
MHItradefiles = findmefile(CoreMurexFilesLoc, "Trade_20210924_7190_20211007113353.txt")
# MHItradeCashfiles = findmefile("TradeCash_", CoreMurexFilesLoc)
# MHEUtradefiles = findmefile("MHEU_Trade_", CoreMurexFilesLoc)
# MHEUtradeCashfiles = findmefile("MHEU_TradeCash_", CoreMurexFilesLoc)
MHItradefiles = pd.read_csv(
CoreMurexFilesLoc + "\\" + "Trade_20210924_7190_20211007113353.txt", delimiter="|"
)
print(MHItradefiles)
我想知道是否可以從第一部分讀取這些文件,因為它們來自不同的實體。 這可能嗎?
我需要特定列的值,我可以按列名或其索引獲取值嗎? txt 文件由 | 分隔。 ?
我建議首先在文件夾中列出文件名。
from glob import glob
import os
files = glob(CoreMurexFilesLoc + '\\*')
然后您可以檢查文件夾中是否存在單個文件: CoreMurexFilesLoc + "\\\\Trade_20210924_7190_20211007113353.txt" in files
或者您可以檢索以某個字符串開頭的所有文件名:
MHItradeCashfiles = [i for i in files if os.path.basename(i).startswith('TradeCash_')] # or [i for i in files if 'TradeCash_' in i]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.