我对结果文件有疑问。我有103个“ .txt”文件。它们全部包含如下数据:
APSI:0.347
TC:0.130
CS:0.115
FI:0.375
我需要计算统计信息,但首先需要将所有值保存在一个文件中。合并所有文件并将其导入R或Python的最佳方法(我认为)。然后,我将创建数据框,它很容易计算。
但是我不知道如何在一个文件中合并文件 实现此格式:
APSI:0.XXX, 0.FFFF, 0.FFTR...
TC:0.XXX, 0.GSFF, 0.XXXX...
CS:0.RRR, 0.CGGG, 0.TTTT...
FI:0.TTT, 0.RRTT, 0.RRRR...
该怎么做?
答案 0 :(得分:1)
假设您有一个包含2个文件的文件夹,例如:
APSI:0.347
TC:0.130
CS:0.115
FI:0.375
还有
APSI:0.56
TC:0.11
CS:0.12
FI:0.345
KK:0.1234
下面的代码收集数据并将其存储在dict中,其中每个键都指向值列表。根据此数据结构,您可以进行统计数据计算。
import os
from collections import defaultdict
FILES_FOLDER = 'files'
data = defaultdict(list)
files = os.listdir(FILES_FOLDER)
for f in files:
with open(os.path.join(FILES_FOLDER, f)) as input_file:
lines = input_file.readlines()
for line in lines:
tmp = line.split(':')
key = tmp[0]
value = tmp[1]
data[key].append(float(value))
print('Here is the merged data:')
print(data)
输出:
Here is the merged data:
defaultdict(<type 'list'>, {'CS': [0.115, 0.12], 'FI': [0.375, 0.345], 'APSI': [0.347, 0.56], 'KK': [0.1234], 'TC': [0.13, 0.11]})