Предположим, у нас есть каталог "mydir" в текущем каталоге, а файлы *.dat
хранятся в "mydir".Поскольку мы не хотим перезаписывать файлы *.dat
, давайте создадим новый каталог "outdir", чтобы поместить результаты с одинаковыми именами файлов.
Структура каталога будет выглядеть следующим образом:
./ --- mydir/
|
+--- file1.dat
+--- file2.dat
+--- ...
+--- outdir/
|
+--- file1.dat
+--- file2.dat
+--- ...
Затем попробуйте следующее:
import numpy as np
import glob, os
if not os.path.exists("mydir/outdir"):
os.makedirs("mydir/outdir") # can use "exist_ok=True" option for python 3.2 or later
for f in glob.glob("mydir/*.dat"):
basename = os.path.basename(f)
data = np.loadtxt(f, delimiter=",")
result = np.sin(data[:,-2:])
np.savetxt("mydir/outdir/" + basename, result, fmt="%.2f", delimiter=",")
Пожалуйста, измените имена каталогов в соответствии с вашей средой.
[Изменить] Если вы хотите изменить самые правые два столбца data[:,-2:]
, пожалуйста,попробуйте вместо:
import numpy as np
import glob, os
if not os.path.exists("mydir/outdir"):
os.makedirs("mydir/outdir") # can use "exist_ok=True" option for python 3.2 or later
for f in glob.glob("mydir/*.dat"):
basename = os.path.basename(f)
data = np.loadtxt(f, delimiter=",")
data[:,-2:] = np.sin(data[:,-2:])
np.savetxt("mydir/outdir/" + basename, data, fmt="%.2f", delimiter=",")