我需要写代码阅读所有的文本文件在子文件夹和计数的频率在每个文本文件中的一些单词。下面是我的编码:
def process_files(dir):
# List of filenames in the directory
filenames = []
for root, _, files in walk(dir):
filenames.extend([join(root, file) for file in filter(files, '*.txt')])
df = pd.DataFrame()
for filename in filenames:
virtual_currency, bitcoin,blockchain, cryptocurrency, digital_currency, litecoin, dogecoin, etherrum =0, 0, 0, 0, 0, 0, 0,0
with open(filename, 'r') as f:
contents = f.read().lower()
# Process the content
cryptocurrency=contents.count("cryptocurrenc")
virtual_currency = contents.count("virtual currenc")
digital_currency=contents.count("digital currenc")
bitcoin = contents.count("bitcoin")
blockchain=contents.count("blockchain")
litecoin=contents.count("litecoin")
dogecoin=contents.count("dogecoin")
etherrum=contents.count("etherrum")
# Create data row
data = {'File Name': filename,
'Virtual Currency': virtual_currency,
'Bitcoin': bitcoin,
'cryptocurrency': cryptocurrency,
'digital currency': digital_currency,
'litecoin': litecoin,
'dogecoin': dogecoin,
'etherrum': etherrum}
#df.append(data,ignore_index=True)
a=pd.DataFrame(data, index=[0])
df=df.append(a,ignore_index=True, sort=False)
# Save data to CSV
df.to_csv(os.path.join(dir, filename), index=False)
return df
result = process_files(r'C:\test\QTR2')
字符串
问题是,每个文档的生成结果都是相同的。我的猜测是,最后的结果改写了旧的值。
的数据
谁能帮我检查一下是哪一部分出了问题?我真的很感激你能提供的任何帮助。
2条答案
按热度按时间kcwpcxri1#
如果您试图将所有文件保存到一个处理过的文件中,则存在缩进问题
字符串
如果您试图将所有加载的文件处理并保存到文件替换中,则会出现初始化问题。
更换
型
下面
型
tjvv9vkg2#
问题在于“to_csv”函数,其中编码重写了原始文本文件。因此,编码不能给予我正确的结果。因此,我删除了这一行并使用原始数据集,编码工作得很好。