0

csv ファイルのデータから作成された 2 次元配列の要素にアクセスしようとしています。配列をうまく印刷できます。

配列にアクセスして特定の要素 (つまり、「行」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)
4

1 に答える 1

0

CSV から多次元データを読み取る場合は、CSV ファイルの完成度に応じてnumpy.genfromtxt()または関数を使用します (行の長さが変化する場合は前者を使用し、一定で均一な場合は後者を使用します)。numpy.loadtxt()

代わりに、多次元配列を手動で構築しようとしてnumpyいますが、発見したように、そのようには機能しません。

import numpy

def create_alldata(whichfile):
    return numpy.genfromtxt(whichfile)                     
于 2013-08-16T09:32:12.303 に答える