如何读取连续的.plt文件并存储它们

时间:2015-06-10 02:39:25

标签: python file

我想用python读取1000个文件。以前,我有74,我只是一个一个地阅读它们,但现在有太多的事情要做。

data_1 = np.genfromtxt('test4-1.000001.plt', delimiter=' ', skip_header=3)
data_2 = np.genfromtxt('test4-1.000002.plt', delimiter=' ', skip_header=3)         
data_3 = np.genfromtxt('test4-1.000003.plt', delimiter=' ', skip_header=3)         
data_4 = np.genfromtxt('test4-1.000004.plt', delimiter=' ', skip_header=3)         
data_5 = np.genfromtxt('test4-1.000005.plt', delimiter=' ', skip_header=3)         
data_6 = np.genfromtxt('test4-1.000006.plt', delimiter=' ', skip_header=3)         
data_7 = np.genfromtxt('test4-1.000007.plt', delimiter=' ', skip_header=3) 
.
.
.
.
.
data_73 = np.genfromtxt('test4-1.000073.plt', delimiter=' ', skip_header=3)
data_74 = np.genfromtxt('test4-1.000074.plt', delimiter=' ', skip_header=3)

我试过使用循环,但它不起作用。我试图让我成为一个字符串,但仍然无法正常工作

for i in range(1:1000):
     data_'i' = np.genfromtxt('test4-1.00000'i'.plt', delimiter=' ',skip_header=3)

非常感谢你的帮助

2 个答案:

答案 0 :(得分:2)

你有一个正确的想法,但你犯了一些语法错误,看起来你需要了解列表。

您应该做的是列出所有数据。让我们称之为data

我们定义一个像这样的空:data = []

要添加到列表,我们使用append命令,如下所示:

data.append(np.genfromtxt('test4-1.000001.plt', delimiter=' ',skip_header=3))

最后一件事是你试图连接错误的字符串。在python中,您使用+连接字符串,因此这一行:'test4-1.00000'i'.plt'应为'test4-1.'+str(i).zfill(6)+'.plt'。注意我必须先将它变成一个字符串,然后我还使用zfill函数用零填充它。

把所有这些放在一起我们有代码

data = []
for i in range(1:1000):
    data.append(np.genfromtxt('test4-1.'+str(i).zfill(6)+'.plt', delimiter=' ',skip_header=3))

这将为您提供一个数据列表,您可以使用语法data[23]调用该数据来获取第24个数据集(列表索引从0开始)。

希望这有帮助!

答案 1 :(得分:0)

data = []
for i in range(1, 1000):
     data.append(np.genfromtxt('test4-1.%06d.plt' % i, delimiter=' ',skip_header=3))

修改

Loocid的答案解释了每个部分的运作方式。