我是Python的新手,在处理多个数据文件时遇到问题。
我想将多个数据文件读取到多个数组中,例如,我想将1c.txt中的数据读取到数组c1中,将2c.txt中的数据读取到c2中,等等。我尝试了以下代码:
import numpy as np
for i in range(1,15):
globals()['c%s' % i] = np.loadtxt(['%sc.txt' % i], usecols=(0,1,2))
但是它用
IndexError: list index out of range
提示,我将usecols=(0,1,2)
更改为usecols=(0)
仍然不起作用,所以我认为有些错误。我也发现我不能使用以下代码:
['c%s' % i]
以获取变量名称为c1,c2等。而且我必须在
globals()
之前添加一个['c%s' % i]
,但是我不知道为什么。在线等待。非常感谢!
最佳答案
好吧,我至少可以回答其中一些问题。
我发现我无法将代码用作:['c%s'%i] = np.loadtxt(['%sc.txt'%i]
这是因为['c%i' % i]
将为您提供字符串列表,而不是变量。通过执行globals()[string]
,您正在访问(分配)字典(globals()字典)。我强烈建议不要使用globals()!
做类似的事情:
mydict = {}
for i in range(1,15):
mydict['c%i' % i] = np.loadtxt('c%i.txt' % i, usecols=(0,1,2))
我还注意到您使用的是
%s
,在格式化时应使用%i
,%s是字符串,但变量i
是整数。关于python - 将多个数据文件读入多个数组python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24541562/