写一段代码循环遍历/public/work/Personal/wuxu/TF_TR下txt文本,如果第三列为TF,则打印出对应的第二列的值,去重,并统计该值出现的次数,打印在值的后一列
时间: 2024-01-21 15:02:52 浏览: 109
好的,我可以帮你完成这个任务。首先,我们需要使用Python编写代码,使用os库中的walk函数遍历目录,并且使用pandas库中的read_csv函数读取txt文件。然后,我们可以使用pandas的DataFrame进行数据处理和去重,最后将结果输出到文件中。
以下是代码实现:
```python
import os
import pandas as pd
path = '/public/work/Personal/wuxu/TF_TR'
result = {}
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.txt'):
filepath = os.path.join(root, file)
data = pd.read_csv(filepath, sep='\t', header=None)
data = data[data[2] == 'TF']
for index, row in data.iterrows():
value = row[1]
if value not in result:
result[value] = 1
else:
result[value] += 1
# 将结果输出到文件中
with open('output.txt', 'w') as f:
for key, value in result.items():
f.write(f'{key}\t{value}\n')
```
这段代码会将遍历到的所有txt文件中第三列为'TF'的行的第二列的值作为键,出现的次数作为值,存储在result字典中。最后,将结果输出到output.txt文件中,每行格式为"键\t值\n"(即键和值之间用tab分隔,每行末尾有一个换行符)。
阅读全文