我正在尝试对数组中的值执行一些数学函数。但我想为多个文件执行此操作,因为对每个文件使用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))
答案 0 :(得分:1)
您可以使用unpack=True
parameter将结果解压缩到单独的t
,x
,y
数组中:
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)