各位不好意思,我又來發問了,目前遇到一個難題想請問大家
我有許多個資料夾內有許多txt檔,我想要計算每個txt檔案內文字出現的頻率
然後每個txt生成下面excel的這個樣子(產業、公司代碼、名稱、年度、詞、出現次數)
因此我將所有檔案的位置做成一個txt檔要來擷取產業、公司代碼、名稱、年度
然後再加入詞及出現次數
我參考一些其他人的寫法,可是一直沒有結果,請問有人可以幫幫忙嗎
(我知道我寫得很亂,真的很抱歉)
import os
def walk_files(path,endpoint=None):
for root,dirs,files in os.walk(path):
for file in files:
file_path = os.path.join(root,file)
folder_name = os.path.basename(os.path.dirname(file_path))
img_name = os.path.basename(file_path)
path = r"C:\2019-2022\recent_file\frames_cut_3s"
walk_files(path)#擷取檔案
with open("KAM_List_20220421.txt", "r", encoding="utf8") as Input_Company_File: #讀取上市公司資料檔案清單
for Input_Company in Input_Company_File:
Input_File_1 = Input_Company.strip()
Type = Input_Company.strip().split("_")[0].split("\\")[0] #產業別
ID = Input_Company.strip().split("_")[0].split("\\")[1] #擷取公司代號
Company = Input_Company.strip().split("_")[1] #擷取公司名稱
Year = Input_Company.strip().split("_")[2].split("-")[0] #擷取資料年分
Month = Input_Company.strip().split("_")[2].split("-")[1] #擷取資料月份
Comment = Input_Company.strip().split("_")[3].split(".")[0] #擷取資料性質 => 母公司、合併、etc.
FileType = Input_Company.strip().split("_")[3].split(".")[1] #擷取txt
import xlsxwriter
result = xlsxwriter.Workbook("C:/Users/123.xlsx")
temp = [result.add_worksheet()]
font = result.add_format({"font_size":12})
for i in range(len(Input_Company_File)):
c = 0
for j in Input_Company_File[i]:
temp[0].write(i,c,j,font)
c+=1
temp[0].write(i,c,Input_Company_File[i][j],font)
c+=1
result.close()
ithelp.ithome.com.tw/upload/images/20221220/20152717APjx9ATnrS.jpg
這圖內什麼是關鍵字?
為什麼不直接用 vba 來做?
以下是 VBA, 自己研究一下
Sub aaa()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set folder = FSO.getfolder("C:\Users\abc\Desktop\")
For Each file In folder.Files
If InStr(file.Name, "txt") > 0 Then
Set FileToRead = FSO.OpenTextFile(file.Path)
TextString = FileToRead.ReadAll
MsgBox UBound(Split(TextString, "關鍵字"))
End If
Next
End Sub