Ранняя ссылка на строку файла CSV, импортированного как список нарушает мой набор данных для чтения? - PullRequest
0 голосов
/ 19 июня 2019

Я открываю, читаю и сохраняю в структуру данных списка содержимое файла csv (https://www.kaggle.com/ramamet4/app-store-apple-data-set-10k-apps). Я попытался сохранить заголовок и остальную часть набора данных в двух отдельных переменных, пытаясь избежать громоздкого foo = list (bar), и вместо этого сделал что-то вроде foo = list (bar) [0]. Это работает нормально, пока я не попытаюсь сделать то же самое с остальной частью набора данных или просто с другим рядом. Использование slice не выдает никакой ошибки, но я получаю пустую переменную, а foo = list (bar) [1] выдает исключение 'Index out of range'. Если я сделаю ссылку [1] до [0], я не получу жалоб на индекс, я не понимаю, почему это произошло.

Использование ноутбука Jupyter,

`from csv import reader
     oDs1 = open('AppleStore.csv')
     oDs2 = open('googleplaystore.csv')
     rDs1 = reader(oDs1)
     rDs2 = reader(oDs2)
     header = list(rDs1)[0] #everything is fine here, no matter which index 
     #number I choose
     print(*header)
     restofDataSet = list(rDs1)[1:3] #short slice for test, no error but 
     #variable is empty
     print(*restofDataSet)
     firstRow= list(rDs1)[1] #python raise error`

Я ожидаю, что мне будут назначены переменные заголовка и остальной части набора данных (или, по крайней мере, другой тестовой строки), но я получаю пустой набор данных в методе среза и следующую ошибку, когда я ссылаюсь на другой индекс после первого ([0]) :

IndexErrorTraceback (most recent call last) <ipython-input-16-0baa98682a7a> in <module>()
      8 restofDataSet = list(rDs1)[1:3]
      9 print(*restofDataSet)
---> 10 firstRow= list(rDs1)[1]
     11 

IndexError: list index out of range
...