我想返回一个以文本文件名为键的字典。然后,我有一个数据框,它有三列不同的单词。我想返回文本文件中显示的列中每个单词的计数作为值。例如,我做了import os
,并使用方法os.listdir()
来显示我的文本文件列表
myinput:
import pandas as pd
import re
import os
txtlist = os.listdir("./data")
print(txtlist)
myoutput:
['textone.txt', 'texttwo.txt', 'textthree.txt']
接下来,我定义了我要从excel文件中查找的单词的数据框架
myinput:
wrdlist = pd.read_excel("words.xlsx")
wrdlist
myoutput:
Color Shape Description
0 red square happy
1 green circle sad
2 yellow triangle mad
3 navy blue cube disgust
我已经使用dataframe创建了一个可以用于颜色的列表
myinput:
colorwrds = []
for word in wrdlist.Color:
colorwrds.append(re.compile(r"\b"+word+r"\b"))
最后,我想使用所有这些返回字典,该字典将文件作为键,颜色计数作为值。因此,textone.txt文件中有两个单词,一个是海军蓝,一个是红色,两个是黄色,一个是绿色,一个是海军蓝,一个是红色,三个是红色
Desiredoutput:
{'textone.txt' : 3, 'texttwo.txt' : 5, 'textthree.txt':1}
我试图创建一个这样的函数,但我不确定我是否做得对
attemptedinput to achieve desired output:
def counterfunction(textfilelist, importantwordslist):
mydict = {}
for wordname in importantwordslist.lower():
mydict[wordname] = 0
for wordname in textfilelist.lower():
if wordname in mydict.keys():
mydict[wordname] += 1
return mydict
print(counterfunction(txtlist, wrdlist)
您可以从如下数据帧获取字数:
因此,如果没有任何样本数据,它可能会如下所示:
相关问题 更多 >
编程相关推荐