将多个文本文件写入数组python

时间:2014-03-09 22:22:49

标签: arrays python-2.7 numpy dir

我正在尝试对数组中的值执行一些数学函数。但我想为多个文件执行此操作,因为对每个文件使用loadtxt是很繁琐的。由于每个.txt文件包含三列,我想将t,x,y分配为这些列的数组。我对此缺乏经验。我使用os.chdir,因为我将目录更改为特定文件夹中的文件,问题是定义数组。

os.chdir(r"F:\Thermal Motion")
files = dir('*.txt')
for i in range(len(files)):
    t, x, y = loadtxt(files(i))

2 个答案:

答案 0 :(得分:1)

您可以使用unpack=True parameter将结果解压缩到单独的txy数组中:

from glob import glob
import numpy as np

for path in glob(r"F:\Thermal Motion\*.txt"):
    t, x, y = np.loadtxt(path, unpack=True)
    use_the_arrays_here(x, y, t) # <--  use mathematical functions here

答案 1 :(得分:0)

如果您的问题允许,您还可以尝试使用csvreader库为您完成大量工作。

如果您知道文件的路径,只需将路径直接传递给open调用,或者将目录和文件名与以下内容结合起来,也不需要使用chdir

full_path = os.path.join(dir_path, filename)