我想用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)
非常感谢你的帮助
答案 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的答案解释了每个部分的运作方式。