2016-07-12 42 views
1

我需要對2000個數據文件進行相同的分析,這些文件的名稱類似於abc_0.dat,abc_1.dat .... abc_1999.dat。我不知道有沒有在Python中爲這類問題製作一個循環。這是我正在處理的腳本。在python中循環的字符串

from scipy import stats 
import numpy as np 
import scipy as sp 
import matplotlib 
import matplotlib.pyplot as plt 
import sys 
import math 

for x in xrange(2000): 

gps_time = 932170000 + x*1000 
i = str(x) 

a_file =$(gps_time).0-$(i).dat 

b_file =$(gps_time).0.dat 

x = np.loadtxt(a_file, skiprows=1, usecols=[18]) 
y = np.loadtxt(a_file, skiprows=1, usecols=[17]) 
z = np.loadtxt(b_file, skiprows=1, usecols=[1]) 

大多數劇本都只是起草說明腳本

+0

我不明白這個問題。請澄清... – Julien

+0

即使爲了說明,您應該使用實際的Python語法,其中'$(gps_time).0 - $(i).dat'不是。 –

+0

另外,你應該在上面的代碼中縮進你的'for'循環。 – nbryans

回答

0

我已經與環和結合字符串解決了這個問題。

for x in xrange (0,2000): 
    gps_time = 932170000 + x*1000 
    a_file =str(int(gps_time)) + ".0-" + str(x) + ".dat" 
    b_file =str(int(gps_time)) + ".0.dat" 
0

你的問題實在太差了措辭的概念,但如果我得到你說的話的主旨,這裏有一個更好的辦法。

(確保所有文件都在同一個目錄中)。

import glob 
directory = 'path/to/directory' + '*.dat' 

files = glob.glob(directory) 

for currFile in files: 
    function1(currFile) 
    function2(currFile) 
    # insert whatever else you want to do with currFile here. 

+0

'file'是變量的錯誤名稱,因爲在Python 2中,它掩蓋了'open()'的替代名稱。 'fname'? – cdarke

+0

這並不意味着複製粘貼爲可用代碼,它只是作爲參考,但我會更新示例。謝謝 :) – Wboy