我是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/

10-10 00:07