我正在尝试访问从csv文件中的数据创建的二维数组元素。我可以很好地打印阵列。
当我尝试访问数组以查找某个元素(即'row'1'列'5中的数字)时,它会抛出错误:
C:\Users\AClayton\Current\python begin\code_tester.py in create_alldata(whichfile)
37 array_data=np.array(all_data)
---> 38 nb=array_data[1][5]
IndexError: index 1 is out of bounds for axis 0 with size 1
如果有人能提供帮助,那就太棒了
def create_alldata(whichfile):
open_file = open(infile, 'rb')
csv_current=csv.reader(open_file)
all_data=[]
np.array(all_data)
for row in open_file:
all_data.append(row)
open_file.close()
array_data=np.array(all_data)
nb=array_data[1][5]
return array_data,
path=raw_input('What is the directory?')
for infile in glob.glob(os.path.join(path, '*.csv')):
create_alldata(infile)
答案 0 :(得分:0)
如果您想从CSV中读取多维数据,请使用numpy.genfromtxt()
或numpy.loadtxt()
函数,具体取决于CSV文件的完整程度(如果行长度不同则使用前者,如果行长度不同则使用前者)和制服)。
您正在尝试手动构建一个多维numpy
数组,正如您所发现的那样并不是那样。
import numpy
def create_alldata(whichfile):
return numpy.genfromtxt(whichfile)