2015-07-21 3 views
0

Моя задача состояла в том, чтобы импортировать файл CSV и сделать его в массив, который я сделал. Теперь моя задача - назначить данные переменной - возможно ли это? Например, как мне получить доступ ко второму столбцу к массиву, введя myVariableName [1]?Python Назначение файла CSV переменной

import csv 
import numpy as np 
f = open("Test.csv") 
csv_f = csv.reader(f) 
for row in csv_f: 
    print(np.array(row)) 
f.close() 
+0

вы можете взглянуть на 'нп. loadtxt' или 'pandas.read_csv' – maxymoo

+1

Подсказка: вы уже назначили другие имена переменных. например 'f = open (" Test.csv ")' присваивает объект файла, который возвращается 'open' переменной' f'. Вы сделали это снова с 'csv_f'. Отсюда не должно быть слишком сложно понять, как назначить имя переменной любому конкретному объекту в коде ... – mgilson

+0

Я попытался назначить переменную, однако можно включить оператор «для» как Что ж? – aaa905

ответ

0

Вы можете использовать numpy.loadtxt().

a.csv:

1,2,3 
4,5,6 
7,8,9 

Код:

import numpy as np 

matrix = np.loadtxt(open("a.csv","rb"),delimiter=",") 
print(matrix[:,1]) 
# prints [ 2. 5. 8.] 
+0

Что это заменит в моем коде? – aaa905

0

Создать список, какие элементы из столбца 2 могут быть добавлены, как вы обрабатывать каждую строку из файла CSV. Следующий код будет содержать элементы из столбца 2 в переменной column_2:

import csv 

column_2 = [] 
f = open("Test.csv") 
csv_f = csv.reader(f) 
for row in csv_f: 
    column_2.append(row[1]) 
f.close() 
print column_2 

Вы могли бы заменить все, что код со списком понимания:

import csv 

column_idx = 1 
with open('Test.csv') as f: 
    column_2 = [row[column_idx] for row in csv.reader(f)] 
print column_2 
Смежные вопросы