首页 > 解决方案 > 尝试将文本文件分别加载到 python 并对每个文件执行相同的计算

问题描述

我有 12 个文本文件,其中包含我之前保存为的随机游走函数的 12 次不同运行的点

'file' + str(j) 
for j in range(12)

我现在希望将每个文本文件加载到我的代码中,然后对其执行以下操作:

np.argmax((filej[:, 0]) > 10)

要找出每次步行需要多少步才能达到 x = 10。到目前为止,我设法做到的唯一方法如下:

    filename = 'file1'
if os.path.exists(filename): 
    file1 = np.loadtxt(filename)
np.argmax((file1[:, 0]) > 10)

这可行,但这意味着我必须为每个文件(有 12 个)单独执行此操作,因此非常耗时且不太整洁。有没有一种方法可以让我做到这一切?然后可能为 12 个文本文件的每个值创建一个列表或数组

np.argmax((filej[:, 0]) > 10)

,也许使用某种循环?

标签: pythonloopstext-files

解决方案


我将文件名放在一个列表中,然后构造一个以文件名作为键并将处理后的值作为值的字典。

files = ["file1", "file2",]

data = {}

for file in files:
    with open(file, "r") as f:
        content = file.read()
        # compute your value
        data[file] = value

推荐阅读