这是我第一次使用python,正在制作一系列父亲和 child ,在.csv文件中有一个数据集,我需要将它放入python,以便以后将其转移到Java脚本中。但是,相同的错误消息不断出现,下面是我提出的内容。再往下是我的脚本。将非常感谢您的任何建议!

加布里埃拉

>>> runfile('/Users/gkountourides/Desktop/FunctionalExperiment/untitled0.py', wdir='/Users/gkountourides/Desktop/FunctionalExperiment')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "//anaconda/lib/python3.5/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 714, in runfile
    execfile(filename, namespace)
  File "//anaconda/lib/python3.5/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 89, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)
  File "/Users/gkountourides/Desktop/FunctionalExperiment/untitled0.py", line 41, in <module>
    father,child = fc_csv_to_javascript_arrays("/Users/gkountourides/Desktop/FunctionalExperiment/fatherChild.csv")
  File "/Users/gkountourides/Desktop/FunctionalExperiment/untitled0.py", line 38, in fc_csv_to_javascript_arrays
    father_str, child_str = from_fc_array_to_fc_string(full_array)
  File "/Users/gkountourides/Desktop/FunctionalExperiment/untitled0.py", line 30, in from_fc_array_to_fc_string
    father_array = input_2d_array[:,0]
IndexError: too many indices for array
>>>

然后是我的实际脚本:
import glob
import numpy as np

def list_all_jpgs():
    javascript_string = "["
    for filename in glob.glob("*.jpg"):
        javascript_string += '"' + filename + '",'
    javascript_string = javascript_string[0:-1] + "]"
    return javascript_string

def load_into_np_array(input_csv_file):
    loaded_array = np.genfromtxt(input_csv_file, dtype=str, delimiter=",")
    return loaded_array

def from_single_array_to_string(input_1d_array):
    output_string = '['
    for entry in input_1d_array:
        output_string += '"'+str(entry)+'",'
    output_string = output_string[0:-1]+']'
    return output_string

def from_fc_array_to_fc_string(input_2d_array):
    father_array = input_2d_array[:,0]
    child_array = input_2d_array[:,1]
    father_string = from_single_array_to_string(father_array)
    child_string = from_single_array_to_string(child_array)
    return father_string, child_string

def fc_csv_to_javascript_arrays(csv_input):
    full_array = load_into_np_array(csv_input)
    father_str, child_str = from_fc_array_to_fc_string(full_array)
    return father_str, child_str

father,child = fc_csv_to_javascript_arrays("/Users/gkountourides/Desktop/FunctionalExperiment/fatherChild.csv")
print(father)
print(child)

最佳答案

索引错误过多表示input_2d_array不是两个2d数组。 genfromtxt()没有返回您期望的结果。

numpy.genfromtxt produces array of what looks like tuples, not a 2D array—why?

http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html

10-07 23:17