我有1000个文件要用python读取。以前,我有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)
非常感谢您的帮助
您有点正确的想法,但您犯了一些语法错误,看起来您需要学习列表。
你应该做的是列出你所有的数据。让我们称之为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开始(。
希望这能有所帮助!
data = []
for i in range(1, 1000):
data.append(np.genfromtxt('test4-1.%06d.plt' % i, delimiter=' ',skip_header=3))
编辑
Loocid的回答解释了这其中的每一部分是如何工作的。