@ Способ OsmosisJonesLoL великолепен, но есть и другой вариант. Вы можете использовать модуль csv , чтобы открыть файл .csv, а затем выполнить итерацию каждой строки и нарезать первые два столбца, а затем распечатать его.
import csv
DOCUMENT = 'file.csv'
def generate_arrays(document):
file = csv.reader(open(document), delimiter=',')
for row in file:
print(row[:2])
generate_arrays(DOCUMENT)
Или вы можете просто добавить каждый 2-й массив в пустой список.
import csv
DOCUMENT = 'file.csv'
def generate_arrays(document):
arrays = []
file = csv.reader(open(document), delimiter=',')
for row in file:
arrays.append(row[:2])
return arrays
print(generate_arrays(DOCUMENT))
Что касается кода, вы размещены. Я не совсем понял, откуда theData
и numbers
откуда? Я думаю, это должна быть та же самая переменная. Код должен фактически возвращать последнюю строку, а не первую.
Чтобы вернуть каждый двумерный массив, сначала нужно добавить каждую строку в пустой массив, а затем вернуть его. И вам на самом деле не нужно использовать метод numpy array
здесь.
Также будьте осторожны с методом open
, так как вам нужно явно закрыть файл после того, как вы покончили с ним. Так что удобнее использовать оператор with. Он гарантирует, что файл будет закрыт после того, как мы закончили читать его содержимое.
Обратите внимание, что line_slices[:2]
равно [line_slices[0], line_slices[1]]
DOCUMENT = 'file.csv'
def generate_arrays(document):
array = []
with open(document) as file:
for line in file:
line_slices = line.split(",")
array.append(line_slices[:2])
return array
print(generate_arrays(DOCUMENT))